社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Drop函数不处理python的数据帧[duplicate]

sourav agarwal • 4 年前 • 1096 次点击  

这个问题已经有了答案:

df.drop(['column_name'],axis=1,inplace=True)

给予

"Warning (from warnings module):
  File "/home/sourav/.local/lib/python3.5/site-packages/pandas/core/frame.py", line 3697
    errors=errors)
SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy"
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49692
 
1096 次点击  
文章 [ 3 ]  |  最新文章 4 年前
Yogesh Patel Rishabh Bhandari
Reply   •   1 楼
Yogesh Patel Rishabh Bhandari    5 年前

这个 drop 通常不会产生 SettingWithCopyWarning .
但有可能 dataframe 你得到的是通过切片动态生成的。

在这种情况下,请尝试以下操作:

data_new = data.drop('columnname', axis= 1)
Meysam Azad
Reply   •   2 楼
Meysam Azad    5 年前

在熊猫图书馆工作时,这是一个非常常见的警告,但是根据 dataquest ,简而言之,我可以给你一些最重要的提示。

  • 首先要了解的是,setingwithcopywarning是 警告,不是错误。
  • 如果您的代码仍然作为 预期。这是不好的做法,设置copywarning应该 永远不要被忽视。花点时间了解你为什么 采取行动前的警告。

我建议您访问网站本身以获取更详细的信息。

Chris
Reply   •   3 楼
Chris    5 年前

我相信你 df 是另一个的副本 pandas.DataFrame .

以下复制了 SettingWithCopyWarning .

import pandas as pd

raw = pd.DataFrame({"a": [1,2], "b": [2,3], "c": [3,4]})
df = raw[["a", "b"]]
df.drop(["a"], 1, inplace = True)

设置为复制警告: 试图在数据帧切片的副本上设置值

请参阅文档中的注意事项: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy 错误=错误)

当你再做一个 熊猫.DataFrame 从现有的,从来没有做直接分配像 df = raw[["a", "b"]] . 相反,使用 pandas.DataFrame.copy() .

raw = pd.DataFrame({"a": [1,2], "b": [2,3], "c": [3,4]})
df = raw[["a", "b"]].copy()
df.drop(["a"], 1, inplace = True)

现在警告消失了,因为 数据框 是一个新的对象,因此根据 the official document :

对副本数据或索引的修改不会反映在原始对象中