如何按值删除列?

2024-04-20 07:02:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个df,有两个列被命名为同一个东西。你知道吗

测向:

type     type
1        default
2        default

如何删除value=default的整个列?你知道吗

新df如下所示:

type
1
2

Tags: defaultdfvaluetype命名
3条回答

使用loc并选择它们:

df = df.loc[:, ~df.eq('default').any(0)]  # ~df.eq('default').all(0)  # Stricter.
print (df)
   type
0     1
1     2

不能使用dropfilter或任何其他惯用的列删除技术,因为列名是相同的。唯一的选择是基于布尔选择器的方法。你知道吗

如果您知道所需列的index,那么只需调用df.iloc[:,index] 一些文档here

换一种方法怎么样,让我们重命名列。你知道吗

df.columns = ['column_1', 'column_2']

现在,如果我们想删除一列,我们可以选择特定的列。你知道吗

df.drop(columns='column_2', inplace=True)

相关问题 更多 >