Pandas 获取除指定列外的全部DataFrame数据
在数据处理中,我们经常需要获取大量的数据来分析。而在这些数据中,有时候我们需要排除某些列,仅保留其他列进行分析。这时就需要使用Pandas来获取除指定列外的全部DataFrame数据。
阅读更多:Pandas 教程
Pandas的drop()方法
Pandas中有一个非常方便的方法drop(),可以帮助我们删除DataFrame中的某一列。我们可以通过以下方式使用drop()方法:
df = df.drop('column_name', axis=1)
其中,axis参数表示删除的轴方向。当axis=1时,表示删除列。
例如,我们有一个包含四列的DataFrame数据,现在我们想删除其中的第二列:
import pandas as pd
df = pd.read_csv('data.csv')
df = df.drop('col2', axis=1)
print(df.head())
运行代码后,我们可以看到DataFrame中已经只剩下三列了,第二列已经被删除了。此时输出的结果如下:
col1 col3 col4
0 1 3 5
1 2 4 6
使用Pandas选择需要的列
除了使用drop()方法删除某一列,我们还可以使用Pandas的loc[]方法来选择需要的列,如下所示:
sub_df = df.loc[:, ['col1', 'col3', 'col4']]
这里我们使用冒号(:)表示选取所有行,然后使用中括号中的列名来选取需要的列。此时,sub_df将包含选取的列以及所有行。
例如,我们有一个包含四列的DataFrame数据,现在我们想选取其中的第一列、第三列和第四列:
import pandas as pd
df = pd.read_csv('data.csv')
sub_df = df.loc[:, ['col1', 'col3', 'col4']]
print(sub_df.head())
运行代码后,我们可以看到sub_df中只包含我们选取的三列,输出的结果如下:
col1 col3 col4
0 1 3 5
1 2 4 6
将需要的列名列表保存到变量中
有时候我们可能需要选取的列比较多,这时每次都手动输入列名会比较麻烦。我们可以把需要的列名列表保存到一个变量中,然后在loc[]方法中使用这个变量来选取列。
cols_to_keep = ['col1', 'col3', 'col4']
sub_df = df.loc[:, cols_to_keep]
这样做的好处是,当我们想要更改需要的列名列表时,只需要更改这个变量就可以了,而不需要修改每一次选取列的代码。
总结
在Pandas中,有多种方法可以帮助我们获取除指定列的全部DataFrame数据。使用drop()方法可以直接删除指定列,而loc[]方法可以帮助我们选取需要的列。将需要的列名列表保存到变量中,可以方便我们修改选取列的代码。