3
我有一個正常的DF如何創建基於2+條件大熊貓迭代而不利用新df.column?
A = pd.DataFrame([[1, 5, 2], [2, 4, 4], [3, 3, 1], [4, 2, 2], [5, 1, 4]],
columns=['A', 'B', 'C'], index=[1, 2, 3, 4, 5])
如果我想創建一個基於另一個專欄中,我不喜歡這樣的條件一欄,並按照預期運行。
In [5]: A['D'] = A['C'] > 2
In [6]: A
Out[6]:
A B C D
1 1 5 2 False
2 2 4 4 True
3 3 3 1 False
4 4 2 2 False
5 5 1 4 True
但是,如果我想用2個條件......喜歡做同樣的:
A['D'] = A['C'] > 2 and A['B'] > 2 or A['D'] = A['C'] > 2 & A['B'] > 2
我得到了臭名昭著的
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
我怎樣才能解決不重複?基於兩個條件創造這個新列的目的是爲了能夠使用這種類型的GROUPBY功能:
A.groupby('D').apply(custom_fuction)
所以,也許有使用GROUPBY做整個事情的方式,但我不」不知道該怎麼做。
感謝
我感到羞愧。 – hernanavella 2014-10-05 14:57:01
不,不要。我們都在這裏學習。 – unutbu 2014-10-05 14:57:30