首页 > 解决方案 > Numpy 数组到 Pandas 数据框格式

问题描述

对不起,如果这已经在某个地方得到了回答!

我正在尝试将 numpy 中的数组格式化为 pandas 中的数据框,我已经这样做了:

# array
a = [[' ' '0' 'A' 'T' 'G']
    ['0' 0 0 0 0]
    ['G' 0 -3 -3 5]
    ['G' 0 -3 -6 2]
    ['A' 0 5 0 -3]
    ['A' 0 5 2 -3]
    ['T' 0 0 10 5]
    ['G' 0 -3 5 15]]

# Output data frame using pandas

   0  1   2   3   4
0     0   A   T   G
1  0  0   0   0   0
2  G  0  -3  -3   5
3  G  0  -3  -6   2
4  A  0   5   0  -3
5  A  0   5   2  -3
6  T  0   0  10   5
7  G  0  -3   5  15

# Output I want

   0   A   T   G
0  0   0   0   0
G  0  -3  -3   5
G  0  -3  -6   2
A  0   5   0  -3
A  0   5   2  -3
T  0   0  10   5
G  0  -3   5  15

任何有关如何做到这一点的建议将不胜感激!:)

标签: pythonpandasnumpy

解决方案


将第一行声明为列名,将第一列声明为行名:

df = pd.DataFrame(data=a[1:], columns=a[0]).set_index(' ')
df.index.name = None
#   0  A  T  G
#0  0  0  0  0
#G  0 -3 -3  5
#G  0 -3 -6  2
#A  0  5  0 -3

推荐阅读