gpt4 book ai didi

python - 从现有数据框创建新数据框 - SettingWithCopyWarning

转载 作者:行者123 更新时间:2023-11-28 18:30:39 27 4
gpt4 key购买 nike

我有一个作为数据框导入的 csv 文件。该数据框经过多个过滤步骤。数据也会根据条件在列之间移动。

import numpy as np
import pandas as pd

df = pd.read_csv('my_csv_file.csv', names=headers)
df2 = df.drop_duplicates(['Column_X'])
series1 = df2.loc[df2['Column_Y'] == 'Category1', 'Column_X']
df2.loc[df2['Column_Y'] == 'Category1', 'Column_Z'] = series1
...

在命令提示符中输入最后一行后,我得到了 SettingWithCopyWarning。

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.

请注意,我在代码中使用了 .loc。

执行以下操作不会引发错误:

df.loc[df['Column_Y'] == 'Category1', 'Column_Z'] = series1

这让我觉得问题在于使用 df2 作为新数据框。

最佳答案

我认为问题在于 df2df1 的 View 。而是将 .copy() 放在 .drop_duplicates 调用的末尾。

df2 = df.drop_duplicates(['Column_X']).copy()

关于python - 从现有数据框创建新数据框 - SettingWithCopyWarning,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37797093/

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