我一直在熊猫中遇到以下警告,但我不明白为什么。
假设我有一个数据框,并以此方式创建了一个新列:
x = pd.DataFrame({'A':[1,2,3]})
x['AA'] = x['A']
我没有收到任何警告。
但是对于从SQL数据库获得的Df,我基本上会这样做,并且会收到警告。
m = rs.selectQueryIntoPandas(sql)
# filter out all rigs with NULL ID - out: m1
null_flag = rigs['id'].isnull()
n_nulls = sum(null_flag)
m1 = m.loc[~null_flag]
id_cleaned = m1['id'].apply(lambda x: cleanId(x))
m1['id_orig'] = m1['id']
/home/ubuntu/.pycharm_helpers/pydev/pydevconsole.py:1: 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
See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
'''
我不知道为什么。