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