首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dataframe.columns.difference()使用

dataframe.columns.difference()使用
EN

Data Science用户
提问于 2019-03-01 00:39:31
回答 2查看 46K关注 0票数 7

我试图找到dataframe.columns.difference()的工作,但没有找到令人满意的解释。有人能详细解释一下这种方法的工作原理吗?

EN

回答 2

Data Science用户

回答已采纳

发布于 2019-03-01 04:55:51

函数dataframe.columns.difference()为您提供了作为参数提供的值的补充。它可以用于在排除某些列的情况下从现有的dataframe创建一个新的dataframe。让我们看看一个例子:

代码语言:javascript
复制
In [2]: import pandas as pd

In [3]: import numpy as np

In [4]: df = pd.DataFrame(np.random.randn(5, 4), columns=list('ABCD'))

In [5]: df
Out[5]: 
          A         B         C         D
0 -1.023134 -0.130241 -0.675639 -0.985182
1  0.270465 -1.099458 -1.114871  3.203371
2 -0.340572  0.913594 -0.387428  0.867702
3 -0.487784  0.465429 -1.344002  1.216967
4  1.433862 -0.172795 -1.656147  0.061359

In [6]: df_new = df[df.columns.difference(['B', 'D'])]

In [7]: df_new
Out[7]: 
          A         C
0 -1.023134 -0.675639
1  0.270465 -1.114871
2 -0.340572 -0.387428
3 -0.487784 -1.344002
4  1.433862 -1.656147

函数作为输出返回现有列(不包括作为参数的列)的新列列表。您还可以检查它:

代码语言:javascript
复制
In [8]: df.columns.difference(['B', 'D'])
Out[8]: Index(['A', 'C'], dtype='object')

我建议你看一下官方文档这里。

票数 19
EN

Data Science用户

发布于 2022-09-11 11:57:55

参见下面在“员工流失”数据集上使用dataframe.columns.difference()的示例。在这里,我们希望区分分类列和数值列来执行特征工程。

代码语言:javascript
复制
# Empty list to store columns with categorical data
categorical = []
for col, value in attrition.iteritems():
    if value.dtype == 'object':
        categorical.append(col)

# Store the numerical columns in a list
numerical = attrition.columns.difference(categorical)

注意,columns.difference()方法返回传递参数的补码,在本例中是数值列。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/46434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档