使用 pandas 进行操作SettingWithCopyWarning

2024-05-03

我试着delete某些列并转换列中的某些值

df2.drop(df2.columns[[0, 1, 3]], axis=1, inplace=True)
df2['date'] = df2['date'].map(lambda x: str(x)[1:])
df2['date'] = df2['date'].str.replace(':', ' ', 1)
df2['date'] = pd.to_datetime(df2['date'])

对于所有这些字符串我得到

  df2.drop(df2.columns[[0, 1, 3]], axis=1, inplace=True)
C:/Users/����� �����������/Desktop/projects/youtube_log/filter.py:11: 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

那里有什么问题?


Your df2是另一个数据帧的切片。您需要显式复制它df2 = df2.copy()就在您尝试之前drop

考虑以下数据框:

import pandas as pd
import numpy as np


df1 = pd.DataFrame(np.arange(20).reshape(4, 5), list('abcd'), list('ABCDE'))

df1

让我分配一个切片df1 to df2

df2 = df1[['A', 'C']]

df2现在是一个切片df1并且应该触发那些讨厌的事情SettingWithCopyWarning如果我们尝试改变一些事情df2。让我们来看看。

df2.drop('c')

没问题。怎么样:

df2.drop('c', inplace=True)

就在那里:

问题是 pandas 试图提高效率并跟踪df2指向相同的数据df1。它正在维护这种关系。该警告告诉您,您不应该尝试通过切片来弄乱原始数据帧。

请注意,当我们查看df2,行“c”已被删除。

df2

并看着df1我们看到“c”行仍然存在。

df1

pandas 复制了df2然后删除行“c”。这可能与我们的意图可能不一致df2一个切片并指向与以下相同的数据df1。所以熊猫警告我们。

为了看不到警告,请自行复制。

df2 = df2.copy()
# or
df2 = df1[['A', 'C']].copy()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 pandas 进行操作SettingWithCopyWarning 的相关文章

  • 如何确定非阻塞套接字是否真正连接?

    这个问题不仅限于Python 这是一个一般的套接字问题 我有一个非阻塞套接字 想要连接到一台可访问的机器 在另一端 该端口不存在 为什么 select 仍然成功 我预计会超时 sock send 因管道损坏而失败 select 之后如何确定
  • Tensorflow 可变图像输入大小(自动编码器、放大......)

    Edit WARNING不建议使用不同图像大小的图像 因为张量需要具有相同的大小才能实现并行化 我一直在寻找解决方案 了解如何使用不同大小的图像作为神经网络的输入 Numpy 第一个想法是使用numpy 然而 由于每个图像的大小不同 我无法
  • 从字符串到类型的词法转换

    最近 我尝试用Python存储和读取文件中的信息 遇到了一个小问题 我想从文本文件中读取类型信息 从 string 到 int 或 float 的类型转换非常有效 但从 string 到 type 的类型转换似乎是另一个问题 当然 我尝试了
  • 可以在 TensorFlow 中使用排名相关作为成本函数吗?

    我正在处理偶尔充满异常值的极其嘈杂的数据 因此我主要依靠相关性来衡量我的神经网络的准确性 是否可以明确使用诸如等级相关性 斯皮尔曼相关系数 之类的东西作为我的成本函数 到目前为止 我主要依赖 MSE 作为相关性的代理 我现在面临三个主要障碍
  • Paramiko - 使用私钥连接 - 不是有效的 OPENSSH 私钥/公钥文件

    我正在尝试找到解决方案 但无法理解我做错了什么 在我的 Linux 服务器上 我运行了以下命令 ssh keygen t rsa 这产生了一个id rsa and id rsa pub file 然后我将它们复制到本地并尝试运行以下代码 s
  • 如何从 Dockerfile 安装 Python 3.7 和 Pip

    我正在尝试构建基于 Ubuntu 18 04 的自定义 Docker 映像 Ubuntu 预装了 Python 3 6 但我想 1 安装 Python 3 7 2 将其设置为默认 Python 版本 这样就可以使用python代替pytho
  • 定义函数后对其进行修饰?

    I think答案是否定的 但我似乎找不到明确的说法 我有以下情况 def decorated function function functools wraps function def my function print Hello s
  • 如何在python中检索aws批处理参数值?

    流程 Dynamo DB gt Lambda gt 批处理 如果将角色 arn 插入动态数据库 它是从 lambda 事件中检索的 然后使用submit job角色 arn 的 API 被传递为 parameters role arn ar
  • spacy 如何使用词嵌入进行命名实体识别 (NER)?

    我正在尝试使用以下方法训练 NER 模型spaCy识别位置 人 名和组织 我试图理解如何spaCy识别文本中的实体 但我无法找到答案 从这个问题 https github com explosion spaCy issues 491在 Gi
  • 更改 pandas 中多个日期时间列的时区信息

    有没有一种简单的方法可以将数据帧中的所有时间戳列转换为本地 任何时区 不是逐列进行吗 您可以有选择地将转换应用于所有日期时间列 首先 选择它们select dtypes https pandas pydata org pandas docs
  • 如何使用Python的super()来更新父值?

    我对继承很陌生 之前所有关于继承和 Python 的 super 函数的讨论都有点超出我的理解 我当前使用以下代码来更新父对象的值 usr bin env python test py class Master object mydata
  • Python:计算数据帧列中所有行中特定字符的实例数

    我有一个包含列 toaddress ccaddress body 的数据框 df 我想迭代数据帧的索引 以获取 toaddress 和 ccaddress 字段中电子邮件地址的最小 最大和平均数量 这是通过计算这两列中每个字段中的 和 的实
  • 无法截取宽度为 0 的屏幕截图

    我正在尝试截取 Bootstrap 模态内元素的屏幕截图 经过一番努力 我终于想出了这段代码 driver get https enlinea sunedu gob pe driver find element by xpath div c
  • conda-env list / conda info --envs 如何查找环境?

    我一直在尝试 anaconda miniconda 因为我的用户使用随 miniconda 安装的结构生物学程序 并且作者都没有 A 考虑到可能存在其他 miniconda 应用程序 B 他们的程序将在多用户环境中使用 因此 使用 Arch
  • 导入错误:没有名为 google.auth 的模块

    当我尝试导入时firebase admin in python 2 7我收到错误 导入错误 没有名为 google auth 的模块 这是Docker文件 https github com ammaratef45 Attendance bl
  • Python - 如何查询定义方法的类?

    我的问题有点类似于this one https stackoverflow com questions 5520580 how do you get all classes defined in a module but not impor
  • 检查字符串是否只有字母和空格 - Python

    试图让 python 返回一个字符串仅包含字母和空格 string input Enter a string if all x isalpha and x isspace for x in string print Only alphabe
  • 如何将列表字典写入字符串而不是 CSV 文件?

    This 堆栈溢出问题 https stackoverflow com questions 37997085 how to write a dictionary of lists to a csv file将列表字典写入 CSV 文件的答案
  • 异步和协程与任务队列

    我一直在阅读有关 python 3 中的 asyncio 模块的内容 以及更广泛地了解 python 中的协程的内容 但我不明白是什么让 asyncio 成为如此出色的工具 我的感觉是 你可以用协程做的所有事情 通过使用基于多处理模块 例如
  • Django South - 将 null=True 字段转换为 null=False 字段

    我的问题是 转变的最佳做法是什么null True场变成null False使用 Django South 的字段 具体来说 我正在与ForeignKey 你应该先写一个数据迁移 http south aeracode org docs t

随机推荐

  • 获得列表并集的最快方法 - Python

    有一个 C 比较可以从列表列表中获取列表的并集 找到集合并集的最快方法 https stackoverflow com questions 11362002 the fastest way to find union of sets 还有其
  • 当我启动虚拟机时“VT-x 不可用”[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我使用 VMWare 软件创建了一个虚拟机 但在启动虚拟机时出现错误 它说 VT x 不可用 00 00 03 916 NAT zone nm mbu
  • iFrame 应用程序。权限请求?

    我想在用户首次单击我的 iFrame Facebook 应用程序时请求权限 问题是我见过的例子迫使用户单击按钮来加载http www facebook com authorize php http www facebook com auth
  • Android:加速度传感器中的z值范围在不同设备上不同

    我想检测设备是否面朝上 不是成角度 而是平放在地面上 在某些面朝上的设备上 z 值将返回 9 10 之间的值 大多数设备 然而 在 Nexus 7 上 对于面朝上 z 值将返回 6 8 之间的值 我的代码是 if z value gt 9
  • Android 工具栏:横向模式下的小标题文本

    我正在 Android 上测试新的 Toolbar 和 AppCompat 主题 但遇到了问题 我的工具栏标题文本在纵向模式下看起来是正常大小的 但在横向模式下它变得相当小 尽管我没有在代码中执行任何操作来更改标题的文本大小 以下是屏幕截图
  • MongoDB 在转换回 Java 对象时出现“NumberLong/$numberLong”问题

    我有一个 json 类似于 Header name TestData contactNumber 8019071740 如果我将其插入到 mongoDB 中 它将类似于 id ObjectId 58b7e55097989619e4ddb0b
  • 使用 Chrome TTS 的 SSML

    我试图通过强调等方式让 TTS 句子更加清晰 我正在使用Chrome TTS API http developer chrome com extensions tts html 这表明它接受SSML 格式的文档 http www w3 or
  • Java 8 Spliterator 中使用的奇怪循环[重复]

    这个问题在这里已经有答案了 有谁知道为什么java util Spliterator当循环体为空时 实现使用 do while 而不是 while 循环 例如 实施forEachRemaining is default void forEa
  • 轻量级 Windows 应用程序的最佳开源示例是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Requests/aiohttp:关闭响应对象

    我对是否需要感到有点困惑 close 两者中的响应对象requests and aiohttp 请注意 这是一个单独的实例方法 而不是session close 我说的是响应对象本身 Does Response requests or Cl
  • MySQL 相当于 ORACLES 的rank()

    Oracle 有 2 个函数 rank 和dense rank 我发现它们对于某些应用程序非常有用 我现在正在 mysql 中做一些事情 想知道他们是否有与这些相同的东西 没有什么直接等效的 但你可以用一些 不是非常有效的 自连接来伪造它
  • 模板基类 typedef 和函数有更好的 C++ 语法吗?

    我的代码可以在 VC9 Microsoft Visual C 2008 SP1 中正常编译 但不能在 GCC 4 2 中编译 在 Mac 上 如果这很重要的话 如果我堆积足够的限定符和关键字 我可以强制它在 GCC 中工作 但这似乎不对 这
  • 返回 Tkinter Treeview iid

    我有一个树视图 并在其中插入了一些数据 如下所示 self tree insert end iid test1 text test a values data1 data2 这将在树视图的末尾添加一个条目 其中包含文本 test a 以及列
  • 如何在kafka消费组中动态添加消费者

    我应该如何知道何时必须扩展消费者组中的消费者 当存在快速生产者时 消费者扩大规模的触发因素是什么 一种直接的方法是获取消费者延迟 这可以计算为提交的偏移量和开始偏移量之间的差值 如果最后 n 次计算的延迟正在增加 您可以扩大规模 反之亦然
  • 在 Objective-C 中选择性加载类

    我有模块 但没有来自两个不同的人的源代码 它们都包含相同的类 有没有办法有选择地从模块中加载类 以便重复的类不会发生冲突 是的 我知道这个替代解决方案建议加载和卸载 并且宁愿通过有选择地加载类并完成它来完成 解决 Objective C 命
  • C# 如何使用反射调用字段初始值设定项?

    假设我有这个 C 课程 public class MyClass int a int b new int 6 现在假设我使用反射发现了这个类 并且在查看字段时我发现其中一个是数组类型 即 b foreach FieldInfo fieldi
  • Spark JDBC 仅返回带有列名的数据帧

    我正在尝试使用 Spark JDBC 连接到 HiveTable 代码如下 val df spark read format jdbc option driver org apache hive jdbc HiveDriver option
  • Grafana/prometheus 中没有 kafka 指标

    我成功部署了 Helm Chart普罗米修斯操作员 https github com coreos prometheus operator tree master helm prometheus operator kube 普罗米修斯 ht
  • 在 Beyond Compare 中比较 Json 文件

    如何在 Beyond Compare 中比较两个缩小的 json 文件 是否有内置的 json 文件格式 我正在寻找比较底层 json 对象的两个漂亮的打印表示 In 这个线程 https www scootersoftware com v
  • 使用 pandas 进行操作SettingWithCopyWarning

    我试着delete某些列并转换列中的某些值 df2 drop df2 columns 0 1 3 axis 1 inplace True df2 date df2 date map lambda x str x 1 df2 date df2