我想定义一个列,如果另一列中包含的日期等于某个特定的数据,我想在其中放入1或0。在
DF[['column_i']]= 0 if DF[['column_j']] == '1983-11-08' else 1
由于返回错误,操作似乎不是单音定义的:
Traceback (most recent call last): File "<pyshell#150>", line 1, in <module> Accounts_conFatt_SR_TRAFF[['Churn']]= 0 if Accounts_conFatt_SR_TRAFF[['Deactive Date']] == '1970-01-01' else 1 File "C:\Program Files\Anaconda\lib\site-packages\pandas\core\generic.py", line 887, in __nonzero__ .format(self.__class__.__name__)) ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
是虫子还是我做错了什么?在
ps=类型没有问题:我已经尝试对单个DF['column'][0]值执行if操作,而且效果很好。在
在这种情况下(当您需要零或一时),您可以这样做:
在Python中,}。
True
和False
值在内部表示为1
和{但是@lithibicus的解决方案更通用,因为你可以在那里输入任何值,而不仅仅是0或1。
可以使用
numpy.where
语句执行类似操作:相关问题 更多 >
编程相关推荐