python - 不同的值会触发 Jupyter Notebook 内 Pandas 数据框中的 SettingWithCopyWarning
问题描述
我有一个非常奇怪的警告案例,非常随机出现。编辑:请注意,这个问题不是关于如何处理警告,而是关于它为什么会根据数据框中的单个值出现/消失。
我有两个文件 - test1.csv:
A,B,C
0,-0.7071068,0
和 - test2.csv:
A,B,C
0,0,0
我收到警告
c:\libs\python36-32\lib\site-packages\ipykernel_launcher.py:2:
SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
使用带有代码的第一个文件(第一个文件)时:
df = pd.read_csv("test1.csv")
df['B'][df['B'] > -1] = np.nan
但不是(相同的代码,第二个文件):
df = pd.read_csv("test2.csv")
df['B'][df['B'] > -1] = np.nan
在每种情况下,运行代码都会提示警告错误(更改通过,所以我没有使用副本):
A B C
0 0 NaN 0
我在 Windows 10 上使用 Python 3.6.5 64 位、Jupyter 4.4.0 和 Pandas 0.23.3
解决方案
推荐阅读
- java - 文件解密不适用于 PDF 文件
- amazon-web-services - 如何将 AWS Glue 作业的输出返回到调用 Step Function 工作流程?
- google-apps-script - 将数据从工作表复制到文档并生成新文档
- javascript - HTMLMediaElement 上不存在 setSinkId
- ubuntu - gunicorn 无法启动烧瓶项目 ec2 ubuntu
- gcc - gcc 交叉编译 -mips1 不生成 MIPS-I
- mysql - 无法在 WSL 中成功安装 mysql-server
- javascript - null 不是对象(正在评估 'document.getElementById('logout-form').submit') - 为什么会出现此错误?
- powershell - 如何使用 Powershell 递归多次移动文件?
- apache-nifi - NiFi - 提高 QueryDatabaseTable 性能以超越 Sqoop