我尝试使用以下代码将列转换为“日期”:
df.['DATE'] = pd.to_datetime(df['DATE'])
or
df.DATE = pd.to_datetime(df.DATE)
但我收到以下错误:
/Users/xyz/anaconda3/envs/sensor/lib/python3.6/site-packages/pandas/core/indexing.py:517:
SettingWithCopyWarning:正在尝试在某个副本上设置一个值
从 DataFrame 中切片。尝试使用 .loc[row_indexer,col_indexer] =
值代替
请参阅文档中的警告:http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copyself.obj[项目] = s
我将代码更改为以下内容:
df.loc[:,'DATE'] = pd.to_datetime(df.loc[:,'DATE'])
但我仍然遇到同样的错误。
与此相同
for i in df.index:
df.loc[i,'DATE'] = pd.to_datetime(df.loc[i,'DATE'])
你需要添加copy http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.copy.html:
df = data.loc[data.ID == 79]
to:
df = data.loc[data.ID == 79].copy()
如果您修改中的值df
稍后你会发现修改不会传播回原始数据(data
),并且 Pandas 确实发出了警告。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)