将特定选定列作为副本提取到新数据帧

我有一个包含4列的pandas数据框,我想创建一个新的数据框,该数据框只包含三列。这个问题类似于:从数据帧中提取特定列,但对于pandas而不是R。下面的代码不起作用,会引发错误,肯定不是pandasnic的方法

将熊猫作为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))#引发类型错误:数据参数不能是迭代器

潘达斯式的方法是什么

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

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

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

另一种方法是使用过滤器,默认情况下会创建副本:

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

最后,根据原始数据帧中的列数,使用拖放(默认情况下也会创建一个副本)来表示可能更简洁:

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

发表评论