Python中关于DataFrame如何获取列名的问题

一个 Dataframe 名为 A

   a  b  c  e  k  g
0  1  2  3  4  5  6
1  1  2  3  4  6  6
2  2  2  3  4  1  2
3  3  4  4  4  1  2

一个二维数组

[[1 2 3]
 [1 2 3]
 [2 2 3]
 [3 4 4]]

如何求 A 中与二维数组值重复的列名?

就像这里重复的列是[a,b,c]


Python中关于DataFrame如何获取列名的问题

1 回复

要获取DataFrame的列名,直接用.columns属性就行,它会返回一个Index对象,你可以轻松地把它转成列表。

import pandas as pd

# 创建一个示例DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6],
    'C': [7, 8, 9]
})

# 方法1: 获取列名,返回一个pandas Index对象
column_index = df.columns
print("列名 (Index对象):", column_index)
print("类型:", type(column_index))

# 方法2: 转换为列表,这是最常用的方式
column_list = df.columns.tolist()
print("\n列名 (列表):", column_list)
print("类型:", type(column_list))

# 方法3: 直接通过list()转换
column_list_2 = list(df.columns)
print("\n列名 (通过list转换):", column_list_2)

# 你也可以遍历列名
print("\n遍历列名:")
for col in df.columns:
    print(f"列: {col}")

# 检查某个列名是否存在
if 'B' in df.columns:
    print("\n'B' 列存在于DataFrame中")

核心就两点:

  1. df.columns 拿到的是Index对象,适用于pandas自己的操作。
  2. df.columns.tolist()list(df.columns) 拿到的是Python列表,用起来更通用。

想用列名的话,转成列表最省事。

回到顶部