为什么我应该在 pandas 中复制数据框

2023-12-23

当从父数据帧中选择子数据帧时,我注意到一些程序员使用.copy()方法。例如,

X = my_dataframe[features_list].copy()

...而不仅仅是

X = my_dataframe[features_list]

他们为什么要复制数据框?如果我不复印会怎样?


这个答案在新版本的 pandas 中已被弃用。看docs https://pandas.pydata.org/docs/user_guide/indexing.html#evaluation-order-matters


这扩展了保罗的答案。在 Pandas 中,对 DataFrame 进行索引会返回对初始 DataFrame 的引用。因此,更改子集将更改初始 DataFrame。因此,如果您想确保初始 DataFrame 不应该更改,您需要使用副本。考虑以下代码:

df = DataFrame({'x': [1,2]})
df_sub = df[0:1]
df_sub.x = -1
print(df)

你会得到:

   x
0 -1
1  2

相反,以下内容使 df 保持不变:

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

为什么我应该在 pandas 中复制数据框 的相关文章

随机推荐

  • Microsoft Botframework:如何使用 Telegram 参数或发送 NewLine?

    我正在尝试 Microsoft 的新 Botframework 发送消息时 n消息中没有换行符 我该如何解决这个问题 在 Telegram API 中有一个参数叫做解析模式 https core telegram org bots api
  • lme4 的混合模型起始值

    我正在尝试使用混合模型lmer函数从lme4包裹 但是 我不明白应该输入什么start范围 我的目的是使用简单的线性回归来使用估计的系数作为混合模型的起始值 可以说我的模型如下 linear model lm y x1 x2 x3 data
  • 如何访问板条箱的“tests”目录中的导出函数?

    如何访问创建的 tests 目录中的库导出函数 src relations rs crate type lib mod relations pub fn foo println foo 测试 测试 rs use relations foo
  • Android logcat 仅记录真实设备上的信息级别。无法获取调试消息,甚至无法获取未处理的异常

    我正在为 android 开发一段时间 到目前为止我对 logcat 没有任何问题 到目前为止 我有新手机要开发 华为 Y300 Y300 0100 在 logcat 中没有来自 DEBUG 级别的消息 这是问题 因为我没有得到异常堆栈跟踪
  • HTML iframe 可以继承 css 和 javascript 数据吗

    我想知道 HTML iframe 是否可以从其父级继承 CSS 数据 主要 html 框架 html hello font class highlight 简短回答 No iframes 一般地无法从其父页面继承 访问样式 脚本 长答案 您
  • WPF 样式:x:Name 和 x:Type 之间的区别

    在资源字典中定义样式时 您可以使用 x Name xyz and x Type xyz 并且可以在 XAML 中引用此样式 例如 StaticResource xyz 大多数示例都使用 x Key name 和 key 之间的区别在于 使用
  • 如何调用ASP.NET网站中的非托管代码并将其托管在IIS中?

    我创建了一个 C dll 它工作得很好并且完成了工作 我在 asp net 中创建了调用 C dll 中方法的方法 DLL 路径是绝对路径 它也工作得很好 然后 我将该网站发布到一个文件夹中 并在 IIS 上托管该网站 我收到一条错误消息
  • 在java中获取日期之间的差异[重复]

    这个问题已经存在了 可能的重复 如何使用java计算两个日期之间的差异 https stackoverflow com questions 3491679 how to calculate difference between two da
  • 是否可以通过渠道发送闭包?

    我想通过渠道发送关闭信息 use std thread use std sync mpsc derive Debug struct Test s1 String s2 String fn main let t Test s1 Hello t
  • 输入字段中每个字母的单独框[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我的意思是这些boxes https i stack imgur com fNBJY png 我想模仿真实的形式 但我不知道如何去做
  • Android 上进度条上的背景动画图像?

    当您需要更改 ProgressBar 的背景图像时 应采取什么适当的操作 我的意思是应该使用 gif 图像 例如 http 2 bp blogspot com O7nsXfmgwSc T6PQ0PVr6 I AAAAAAAAAQI eXkE
  • 使用枚举类的 C++11 标准一致位掩码

    您可以使用枚举类实现标准一致性 如 n3242 草案 17 5 2 1 3 中所述 类型安全位掩码吗 按照我的理解 类型 T 是一个位掩码 如果它支持 和 运算符 并且您还可以执行 if l r 其中 l 和 r 是 T 类型 列表中缺少运
  • 使用具有多个变量的语句[重复]

    这个问题在这里已经有答案了 是否可以通过在同一个 using 块中声明 2 变量来使代码更加紧凑 using var sr new StringReader content using var xtr new XmlTextReader s
  • 是否建议将 PHP Session 存储在 MemCache 中?

    我正在使用负载均衡器后面的几个 Web 服务器 并且我可以启用粘性会话来将用户保留到一个特定的 Web 服务器 这将起作用 我一直在阅读有关 PHP Sessions MemCache 的内容 我必须说我读到的内容有点令人困惑 因为有些页面
  • 如何忽略TortoiseSVN中的目标文件夹

    如何忽略TortoiseSVN中的目标文件夹 这是一个老问题 但供进一步参考 它也可以在 TortoiseSVN gt 设置 上下文菜单选项中进行全局配置 只需将 目标 用空格分隔 添加到 全局忽略模式 设置中 然后单击 应用
  • 检查汇编语言中的空字符

    我是汇编语言新手 需要明确的是 这是家庭作业 问题给定一个char list 如何找到哪个字符是字符串的结尾 所以我有 xor ecx ecx counter loop1 mov esi list mov eax esi ecx cmp e
  • 应用CSS的顺序

    我正在研究 CSS 和 Web 开发 但遇到了一些我真的不明白的事情 header position absolute width 60 top 20 left 50 transform translateX 50 lt executed
  • 没有要加载的文件——openssl

    我正在尝试将我的 Rails 应用程序加载到新的 Linux 机器上 并且我已经完成了所需的所有安装 并且捆绑安装正在运行 现在我的问题是当我启动服务器 rails s 然后尝试打开 Web 应用程序时 它会告诉我我 没有要加载的文件 op
  • proguard 针对逆向工程的安全性如何?

    我将在应用程序中处理非常敏感的数据 根据我的定义 混淆并不会增加安全性 它只会在有限的时间内延迟破解者的攻击 Proguard 是否有可能在这方面做得如此出色 以至于可以称为增强安全性 最敏感的是一些网络调用 嗅探密码将很困难 因为我们将在
  • 为什么我应该在 pandas 中复制数据框

    当从父数据帧中选择子数据帧时 我注意到一些程序员使用 copy 方法 例如 X my dataframe features list copy 而不仅仅是 X my dataframe features list 他们为什么要复制数据框 如