使用groupby()。转换设置复制警告

时间:2018-06-17 09:54:58

标签: python pandas pandas-groupby

首先我道歉,我知道有很多线程在讨论这个问题,因为我还没有找到一个讨论groupby的情况 我想确保我理解这里发生的事情。以下代码引发了SettingOnCopy警告:

def func(x):
    if len(x) > 1:
        x.iloc[1:] = 0
    return x

df_grouped = df.groupby(['col1', 'col2'], as_index=False)['col2']
df['col2'] = df_grouped.transform(func) 

我试图理解导致此警告的问题,我的理解是警告是由链接分配引起的,如文档中所述,我相信这是因为x是df的子集然后我修改了x。

因此据报道,我们不确定是否试图通过x更改df或仅将x视为df的副本,我的搜索表明第二种情况下的标准做法是明确指定x = df [some_subset]。 copy(),但在我的情况下,我打算改变df。

我理解正确吗? 可以避免这种链式任务吗? 这种情况下的标准做法是什么? 在这种情况下压制警告是否安全?

任何帮助clarifyin将不胜感激

一切顺利。

0 个答案:

没有答案