我對熊貓很新穎(即少於2天)。但是,我似乎無法找出將兩列與if/else條件組合的正確語法。如何將兩列與Python中的if/else結合起來?
其實,我確實找出了一種使用'zip'的方法。這就是我想要完成的事情,但似乎可能有更有效的方法在熊貓中做到這一點。
爲了完整起見,我有一些預處理怎麼做才能把事情說清楚:
records_data = pd.read_csv(open('records.csv'))
## pull out a year from column using a regex
source_years = records_data['source'].map(extract_year_from_source)
## this is what I want to do more efficiently (if its possible)
records_data['year'] = [s if s else y for (s,y) in zip(source_years, records_data['year'])]
我想知道如果records_data ['source'] else records_data ['year']''你能寫'records_data ['year'] = records_data ['source']。 – minopret
不! -------------------------------------------------- ------------------------- ValueError Traceback(最近呼叫的最後一個) in () - ---> 1 x = records_data ['source'] if records_data ['source'] else records_data ['year'] ValueError:具有多個元素的數組的真值是不明確的。使用a.any()或a.all() –
pocketfullofcheese
我正在查看[合併重疊數據集](http://pandas.pydata.org/pandas-docs/stable/basics.html#combining-overlapping-data (套))。也許你可以比我想象得更快。我只是對你的問題感興趣。我不熟悉熊貓。 – minopret