我的功能是将数据写入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]
使用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, )
>>> 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