【发布时间】:2019-07-08 08:51:05
【问题描述】:
我有以下数据集:
我想告诉熊猫:
如果报表编号小于30,他需要创建一个等于的新变量
df_bei_index[col]*0.05 + df_bei_index['PDI_Average']*0.95.
如果报表编号大于等于30,他需要创建一个新的变量,等于
df_bei_index[col]
我写了以下代码:
for col in col_list:
if df_bei_index['Report No'] <= 29:
df_bei_index[col+'_final'] = df_bei_index[col]*0.05 + df_bei_index['PDI_Average']*0.95
else:
df_bei_index[col+'_final'] = df_bei_index[col]
但是我得到了这个错误
ValueError Traceback(最近一次调用最后一次) 在 () 10 col_list 中的 col 为 11: ---> 12 如果 df_bei_index['Report No']
~\Anaconda3\lib\site-packages\pandas\core\generic.py 在 nonzero(self) 1574 raise ValueError("{0} 的真值不明确。" 1575 "使用 a.empty, a.bool()、a.item()、a.any() 或 a.all()。” -> 1576 .format(self.class.name)) 1577 1578 bool = 非零
ValueError:Series 的真值不明确。使用a.empty, a.bool()、a.item()、a.any() 或 a.all()。
【问题讨论】:
标签: python pandas loops conditional-statements