我的功能是将数据写入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]
答案 0 :(得分:1)
您的数据必须如下:
data = [
(1,2,3,4),
('a','b','c','d'),
('A','B','C','D'),
(0.25,0.655555,0.56,15.235)
]
调用dataframe构造函数,然后调用.values
属性:
pd.DataFrame(data).T.values
array([[1, 'a', 'A', 0.25],
[2, 'b', 'B', 0.655555],
[3, 'c', 'C', 0.56],
[4, 'd', 'D', 15.235]], dtype=object)
如果你想将它作为一维数组,你需要重塑它:
pd.DataFrame(data).T.values.reshape(-1, )
array([1, 'a', 'A', 0.25,
2, 'b', 'B', 0.655555,
3, 'c', 'C', 0.56,
4, 'd', 'D', 15.235], dtype=object)
答案 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