【问题标题】:Cannot change a value in dataframe?无法更改数据框中的值?
【发布时间】:2021-01-15 12:28:09
【问题描述】:

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的方式,但仍然;当前更改值的最佳方法是什么?

【问题讨论】:

  • 请提供预期的minimal, reproducible example。显示中间结果与您的预期不同的地方。我们应该能够复制和粘贴您的代码的连续块,执行该文件,并重现您的问题以及问题点的跟踪输出。

标签: python pandas


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-29
    • 2018-09-09
    • 2022-10-08
    • 2019-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多