转置pandas DataFrame

问题描述 投票:0回答:2

我的功能是将数据写入1x4 dataframe,其中每列(单元格)是一个数组(1x6544)。所以,我需要做的是转置每个内部数组(6544x1),使其成为dataframe维度的一个很好的6544x4

我怎么做到这一点?

以下是dataframe输出的示例:

df = [(1,2,3,4),(a,b,c,d),(A,B,C,D,(0.25,0.655555,0.56,15.235)]

我想要看到的是:

df1 = [1,a,A,0.25
       2,b,B,0.655555
       3,c,C,0.56
       4,d,D,15.235]
arrays pandas dataframe transpose
2个回答
1
投票

使用DataFrame.transpose()转置DataFrame,然后使用.to_numpy()获取NumPy数组:

pd.DataFrame(data).transpose().to_numpy()
# or,
pd.DataFrame(data).T.to_numpy()

如果您想将输出作为一维数组,则需要对其进行整形:

pd.DataFrame(data).T.values.reshape(-1, )

0
投票
>>> data = [('a','b','c','d'),('A','B','C','D'),(0.25,0.655555,0.56,15.235)]
>>> pd.DataFrame(data)
      0         1     2       3
0     a         b     c       d
1     A         B     C       D
2  0.25  0.655555  0.56  15.235
>>> pd.DataFrame(data).transpose()
   0  1         2
0  a  A      0.25
1  b  B  0.655555
2  c  C      0.56
3  d  D    15.235
© www.soinside.com 2019 - 2024. All rights reserved.