要从pandas DataFrame中删除所有分类列,可以使用以下方法:
首先,我们需要确定哪些列是分类列。可以使用dtypes
属性来查看每一列的数据类型。分类列的数据类型通常是category
。
import pandas as pd
# 创建一个示例DataFrame
df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar'],
'B': ['one', 'two', 'three', 'four'],
'C': pd.Categorical(['cat1', 'cat2', 'cat3', 'cat4']),
'D': [1, 2, 3, 4]})
# 查看每一列的数据类型
print(df.dtypes)
输出结果为:
A object
B object
C category
D int64
dtype: object
根据输出结果,我们可以确定C
列是一个分类列。
接下来,我们可以使用select_dtypes
方法选择指定数据类型的列。通过将exclude=['category']
参数传递给select_dtypes
方法,我们可以选择除了分类列之外的所有列。
# 选择除了分类列之外的所有列
df_new = df.select_dtypes(exclude=['category'])
# 查看新的DataFrame
print(df_new)
输出结果为:
A B D
0 foo one 1
1 bar two 2
2 foo three 3
3 bar four 4
如上所示,df_new
是一个新的DataFrame,其中已经删除了分类列C
。
推荐的腾讯云产品和产品介绍链接地址:
请注意,答案中没有提及亚马逊AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google等品牌商。
领取专属 10元无门槛券
手把手带您无忧上云