python - 如何在 python pandas 中将标题行转换为新列?

标签 python python-2.7 pandas dataframe transpose

我有以下数据框:

A,B,C
1,2,3

我必须将上面的数据帧转换为以下格式:

cols,vals
A,1
B,2
c,3

如何在 pandas 中创建列名称作为新列?

最佳答案

您可以通过 T 转置:

import pandas as pd

df = pd.DataFrame({'A': {0: 1}, 'C': {0: 3}, 'B': {0: 2}})

print (df)
   A  B  C
0  1  2  3

print (df.T)
   0
A  1
B  2
C  3

df1 = df.T.reset_index()
df1.columns = ['cols','vals']
print (df1)
  cols  vals
0    A     1
1    B     2
2    C     3

如果DataFrame有更多行,您可以使用:

import pandas as pd

df = pd.DataFrame({'A': {0: 1, 1: 9, 2: 1}, 
                  'C': {0: 3, 1: 6, 2: 7}, 
                  'B': {0: 2, 1: 4, 2: 8}})

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

df.index = 'vals' + df.index.astype(str)

print (df.T)
   vals0  vals1  vals2
A      1      9      1
B      2      4      8
C      3      6      7

df1 = df.T.reset_index().rename(columns={'index':'cols'})
print (df1)

  cols  vals0  vals1  vals2
0    A      1      9      1
1    B      2      4      8
2    C      3      6      7

关于python - 如何在 python pandas 中将标题行转换为新列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39226024/

相关文章:

python - 完全卸载 Django

python - 用于 Python 的 iBATIS?

python - Keras 扩展嵌入层输入

python - 为什么使用sum()函数会出现 'int' object is not callable错误?

pandas - 根据 Pandas 中数据帧列的现有值递增或重置计数器

python - pandas 最终排名状态

python-3.x - 如何设置 pandas 直方图的 x 值以匹配 bin

python - 如何在 VB.Net 和 Python 之间创建应用程序编程接口(interface) (API)?

python - 用于 Caffe 训练的自定义 python 损失层的 'self.diff' 中的 'forward' 是什么意思?

Python 将 SQL 数据类型图像转换为 Python PyQt4 QPixmap 并在 GUI 上显示