我试图迭代名为“cd”的数据帧中的每一行。 如果一行中的特定单元格(如[row,emp\u accept])包含子字符串,则更新同一数据帧中的另一单元格(如[row,emp\u accept\u a])的值。你知道吗
for row in range(0,len(cd.index),1):
if 'Master' in cd.at[row,empl_accept]:
cd.at[row,empl_accept_a] = '1'
else:
cd.at[row,empl_accept_a] = '0'
上面的代码不起作用,jupyter笔记本显示错误:
TypeError Traceback (most recent call last)
<ipython-input-70-21b1f73e320c> in <module>
1 for row in range(0,len(cd.index),1):
----> 2 if 'Master' in cd.at[row,empl_accept]:
3 cd.at[row,empl_accept_a] = '1'
4 else:
5 cd.at[row,empl_accept_a] = '0'
TypeError: argument of type 'float' is not iterable
因为for循环不包含float变量,所以我不确定那里有什么问题。你知道吗
您需要在数据帧中检查[row,emp\u accept]的值。我确信在您的数据帧中的这个位置会有一些数值。只需打印值,就可以看到问题所在。你知道吗
请不要使用循环。您可以批量执行此操作:
这将在列中存储
'0
'和'1'
。也就是说,我不认为将其存储为字符串是一个好主意。您只需将它们存储为bool
s,使用:例如:
相关问题 更多 >
编程相关推荐