df ['emp_years']列的o / p为:-
NaN
< 1 year
3 years
10+ years
10+ years
...
9 years
10+ years
1 year
3 years
3 years
名称:emp_years,长度:10000,dtype:对象
现在我何时尝试在此列上实现此功能
def change(col):
for x in col:
print(x)
df['emp_years'].apply(change)
我收到类型错误TypeError:“ float”对象不可迭代 有人可以告诉我如何解决这个问题
答案 0 :(得分:0)
当该列中有NaN值时,通常会出现此错误。当您尝试访问/打印NaN值时,会出现此错误消息。我建议您稍微清理一下数据。一种解决方案是删除该列的NaN值。为此,请使用df.dropna(subset=['emp_years'])
。我不知道您是否更改了某些数据类型,但我建议您这样做,下次再提供有关数据集的更多信息或提供一些指向您代码的链接,以便我们可以更好地理解此问题。
祝您编码愉快!
答案 1 :(得分:0)
您应该考虑使用向量化。
所述,查看df.iterrows()
或df.itertuples()