解决dataframe替换值失败的问题
问题描述
最近在写大作业,有两个dataframe,其中一个是存在缺失值的,其缺失值可以从另一个dataframe里找到。df1为需要填充的数据,这里仅以新增无症状为例;df2为要填充进去的参考值。
错误原因
需要通过两者时间相同进行筛选,然后将对应值进行修改,但是之前总无法修改,原因是.iloc的用法用错了,之前的错误语句如下:
for i in range(len(df1)):
for j in range(len(df2)):
if df1.iloc['日期'][i]==df2.iloc['日期'][j]:
df1.iloc['新增无症状'][i]=df2.iloc['本土新增无症状'][j]
后来查了好多博客也没找到问题解决方法,后来看到了这个,简直救了大命
解决办法参考
修后的语句
for i in range(len(df1)):
for j in range(len(df2)):
if df1['日期'].iloc[i]==df2['日期'].iloc[j]:
df1['新增无症状'].iloc[i]=df2['本土新增无症状'].iloc[j]
总结
代码规范和语言基础真的很重要~就跟跳街舞一样,基础好了舞蹈才能跳好,虽然以舞养基础,但是巩固好了基础一样可以更好