python - 熊猫给出 SettingWithCopyWarning
问题描述
我试图将字符串转换为熊猫数据框中的日期字段。
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
我无法从文档中了解很多。我到底做错了什么?
解决方案
这是由于您的代码中较早发生了一些事情;大概您已将其定义df
为更大数据帧的子集,可以直接作为切片(如错误消息所示)或通过df = big_df[big_df[col] == 'A']
. 警告告诉您,您的原始数据框也将被此操作更改。为避免这种情况,.copy()
请在将数据帧生成为切片或较大切片的子集时使用。
推荐阅读
- java - 为什么 (-1*-2147483648) 在 JAVA 中给出 -2147483648 值而不是 2147483648
- java - 如何在节点 js 中使用 .jks 文件在 https 端点上提交请求
- python - Python - 如何从文本列进行逻辑计算
- python - ZAPIER-Python 中的输出丢失或返回早期错误
- angular - 带有 *ngIf 的 Angular 数据表显示错误
- javascript - jquery显示正确的表序列
- python - 使用 Kafka Python 持续消费 kafka 消息
- google-chrome - JxBrowser 远程调试在 chrome 中不起作用,返回空白页
- android - 如果需要,执行暂停活动。安卓 10
- beagleboneblack - BeagleBone Black:无法获得 u-boot 提示