gpt4 book ai didi

python - 列创建时的 SettingWithCopyWarning

转载 作者:太空宇宙 更新时间:2023-11-03 13:12:32 25 4
gpt4 key购买 nike

<分区>

我正在尝试为我的数据创建一个名为“mv_avg”的移动平均列。我收到无法修复的 SettingWithCopyWarning。我可以抑制警告,但我无法弄清楚我在代码中的哪个位置创建副本,我想利用最佳实践。我在下面创建了一个通用示例来说明问题。

data = {'category' : ['a', 'a', 'a', 'b', 'b', 'b'], 'value' : [1,2,3,4,5,6]}
df = pd.DataFrame(data)
df_a = df.loc[df['category'] == 'a']
df_a['mv_avg'] = df_a['value'].rolling(window=2).mean()

返回:

SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

我也试过更详细的版本:

df_a.loc[: , 'mv_avg'] = df_a.loc[:,'value'].rolling(window=2).mean()

但是我得到了同样的错误。在没有警告的情况下完成此操作的最佳方法是什么?

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