我一直在尋找了好一陣子沒有沒有得到任何地方接近我想做的事......Python的比較行兩列,寫一個結果有條件
我有我想要一個數據幀大熊貓將A列與B列的值進行比較,如果A和B相等,則在新列中寫入1或0。
我可以寫一個醜陋的循環,但我知道這不是很pythony。
我很確定有一種方法可以使用apply()來做到這一點,但我沒有得到任何地方。
我想能夠比較包含整數以及包含字符串的列的列。
在此先感謝您的幫助。
我一直在尋找了好一陣子沒有沒有得到任何地方接近我想做的事......Python的比較行兩列,寫一個結果有條件
我有我想要一個數據幀大熊貓將A列與B列的值進行比較,如果A和B相等,則在新列中寫入1或0。
我可以寫一個醜陋的循環,但我知道這不是很pythony。
我很確定有一種方法可以使用apply()來做到這一點,但我沒有得到任何地方。
我想能夠比較包含整數以及包含字符串的列的列。
在此先感謝您的幫助。
如果df
是熊貓數據幀,然後
df['newcol'] = (df['A'] == df['B']).astype('int')
例如,
In [20]: df = pd.DataFrame({'A': [1,2,'foo'], 'B': [1,99,'foo']})
In [21]: df
Out[21]:
A B
0 1 1
1 2 99
2 foo foo
In [22]: df['newcol'] = (df['A'] == df['B']).astype('int')
In [23]: df
Out[23]:
A B newcol
0 1 1 1
1 2 99 0
2 foo foo 1
df['A'] == df['B']
返回一個布爾值系列:
In [24]: df['A'] == df['B']
Out[24]:
0 True
1 False
2 True
dtype: bool
astype('int')
將True
/False
的值轉換爲整數 - 對於False
爲0,對於True
爲1。
'df'的意思是'DataFrame'?這是熊貓的問題嗎? – dawg 2014-09-25 17:43:39
是pandas dataframe對不起。 – Bastien 2014-09-25 17:48:28