在编写如下 python 代码过程中出现:AttributeError: ‘DataFrame’ object has no attribute ‘ix’
fdata.ix[fdata['time']=='Diner','time']='Dinner'
fdata.ix[fdata['time']=='Dier','time']='Dinner'
fdata['time'].unique()
错误截图:
原因是,pandas 的 ‘ix’ 属性已经在最新版本中被弃用了。
pandas的新版本已经对该函数进行了升级和重构,可以使用( ‘loc’–>可以表示行 和 ‘iloc’---->可以表示列 )属性来替代 ‘ix’,它们都可以用于选择 DataFrame 中的行和列。
所以只需要将" ix" 改为 “loc”,就可以解决以上问题。
fdata.loc[fdata['time']=='Diner','time']='Dinner'
fdata.loc[fdata['time']=='Dier','time']='Dinner'
fdata['time'].unique()
输出结果: