python - Pandas 显示列号

标签 python pandas

有没有办法让pandas同时显示列号和列名?我正在处理一个超过 30 列的数据集,所有的列名称都非常长,有些列名称之间几乎没有变化。在编写代码时键入名称绝对是一件苦差事。 (我仍然需要查看列名才能知道要选择哪些列)

谢谢。

最佳答案

一个可能的解决方案是创建 MultiIndex 然后通过 DataFrame.xs 选择列:

df = pd.DataFrame({'A':[1,2,3],
                   'B':[4,5,6],
                   'C':[7,8,9],
                   'D':[1,3,5],
                   'E':[5,3,6],
                   'F':[7,4,3]})

print (df)
   A  B  C  D  E  F
0  1  4  7  1  5  7
1  2  5  8  3  3  4
2  3  6  9  5  6  3

df.columns = pd.MultiIndex.from_arrays([pd.RangeIndex(len(df.columns)), df.columns])
print (df)
   0  1  2  3  4  5
   A  B  C  D  E  F
0  1  4  7  1  5  7
1  2  5  8  3  3  4
2  3  6  9  5  6  3

print (df.xs(2, level=0, axis=1))
   C
0  7
1  8
2  9

关于python - Pandas 显示列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44484878/

相关文章:

python - 如何处理 numpy 数组中的 ZeroDivisionError

python - 我可以使用以并行方式读取文件的迭代器吗?

python - 在 Python 中将图像处理为棕褐色调

python - 使用 pandas 数据框计算行数

python - 如何将一列中的文本拆分为多行

python - 根据另一列减去某个 pandas 数据框列的最小值

python - 比较两个numpy数组

Python 忽略标点符号和空格

python - 如何在列的两个值之间选择数据框中的所有行

python pandas没有从csv文件中读取第一列