Pandas给出了SettingWithCopyWarning

时间:2018-05-16 19:26:57

标签: python pandas dataframe

我尝试将字符串转换为pandas数据框中的日期字段。

df['DATE'] = pd.to_datetime(df['DATE'],format='%d%b%Y')

但我收到了警告:

C:\anaconda2\lib\site-packages\ipykernel_launcher.py:17: 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

我从文档中无法理解。究竟我做错了什么?

1 个答案:

答案 0 :(得分:0)

这是由于您的代码中较早发生的事情;大概你已经将df定义为更大数据帧的子集,可以直接作为切片(如错误消息所示)或通过df = big_df[big_df[col] == 'A']之类的东西。警告告诉您此操作也会更改原始数据框。为避免这种情况,请在将数据框生成为切片或更大的一部分时使用.copy()