微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将特定的选定列提取到新的 DataFrame 作为副本

如何解决将特定的选定列提取到新的 DataFrame 作为副本

有一种方法可以做到这一点,它实际上看起来类似于 R

new = old[['A', 'C', 'D']].copy()

在这里,您只需从原始数据框中选择所需的列并为它们创建一个变量。如果您想修改新的数据框,您可能希望使用.copy()来避免SettingWithcopyWarning.

另一种方法是使用filter认情况下创建副本:

new = old.filter(['A','B','D'], axis=1)

最后,根据原始数据框中的列数,使用 a 表达这一点可能更简洁drop认情况下这也会创建一个副本):

new = old.drop('B', axis=1)

解决方法

我有一个有 4 列的 pandas DataFrame,我想创建一个 只有 三列的 DataFrame
。这个问题类似于:Extracting specific columns from a dataframebut for pandas not R. 以下代码不起作用,引发错误,当然不是 pandasnic
的方法。

import pandas as pd
old = pd.DataFrame({'A' : [4,5],'B' : [10,20],'C' : [100,50],'D' : [-30,-50]})
new = pd.DataFrame(zip(old.A,old.C,old.D)) # raises TypeError: data argument can't be an iterator

pandasnic 的做法是什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。