我有这样的df:
import pandas
a=[['1/2/2014', 'a', '6', 'z1'],
['1/2/2014', 'a', '3', 'z1'],
['1/3/2014', 'c', '1', 'x3'],
]
df = pandas.DataFrame.from_records(a[1:],columns=a[0])
我想要展平df所以这是一个连续的列表,如下所示:
['1/2/2014', 'a', '6', 'z1', '1/2/2014', 'a', '3', 'z1','1/3/2014', 'c', '1', 'x3']
我可以将行和extend
循环到列表中,但这是一种更简单的方法吗?
答案 0 :(得分:58)
答案 1 :(得分:10)
也许使用stack?
df.stack().values
array(['1/2/2014', 'a', '3', 'z1', '1/3/2014', 'c', '1', 'x3'], dtype=object)
(编辑>顺便提一下,Q中的DF使用第一行作为标签,这就是为什么它们不在输出中的原因。)
答案 2 :(得分:2)
你可以试试numpy
import numpy as np
np.reshape(df.values, (1,df.shape[0]*df.shape[1]))
答案 3 :(得分:0)
您可以使用 reshape 方法
df.values.reshape(-1)