首页 > 解决方案 > 无法更改数据框中的值?

问题描述

python 变化这么大吗?我试图谷歌,但似乎python每天都在变化,我尝试了很多方法。例如:

df = pd.DataFrame(columns=['LOGIN', 'Tag', 'Tag Date'])
df.loc[0] = (2222,'na','2020-09-21')
df_RV[df_RV['LOGIN']==2222]['Tag']
0    na
Name: Tag, dtype: object

更改值:

df_RV[df_RV['LOGIN']==2222]['Tag'] = 'Are you ok'

但它并没有改变...

df_RV[df_RV['LOGIN']==201043]['Tag']
0    na
Name: Tag, dtype: object

因为它是视图或复制问题,因此视图中的值已更改,但 df 上没有。许多解决方案已有多年历史。我已经尝试过使用.loc的方式,但仍然;当前更改值的最佳方法是什么?

标签: pythonpandas

解决方案


该值被分配给数据框的副本,而不是原始数据框。这种格式有效。

df.loc[df['LOGIN'] == 2222, ['Tag']] = 'Are you ok'

推荐阅读