gpt4 book ai didi

python - 在 Pandas 切片上设置值的正确方法

转载 作者:IT老高 更新时间:2023-10-28 21:47:10 25 4
gpt4 key购买 nike

我有一个 Pandas 数据框:data.它有列 ["name", 'A', 'B']

我想做(和工作)的是:

d2 = data[data['name'] == 'fred'] #This gives me multiple rows
d2['A'] = 0

这会将 fred 行上的 A 列设置为 0。我也做过:

indexes = d2.index
data['A'][indexes] = 0

但是,两者都给了我相同的警告:

/Users/brianp/work/cyan/venv/lib/python2.7/site-packages/pandas/core/indexing.py:128: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy

Pandas 要我怎么做?

最佳答案

这是来自 pandas 的一个非常常见的警告。这意味着您正在写入副本切片,而不是原始数据,因此由于混淆的链式分配,它可能不适用于原始列。请阅读 post .它对此 SettingWithCopyWarning 进行了详细讨论。在你的情况下,我认为你可以尝试

data.loc[data['name'] == 'fred', 'A'] = 0

关于python - 在 Pandas 切片上设置值的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37841525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com