我有一个列表列表,我希望将其作为一行。我得到的最接近的是post。但是,我无法得到答案。
例如,假设我有testarray
个值,
([[ 26.85406494],
[ 27.85406494],
[ 28.85406494],
[ 29.85406494],
[ 30.85406494],
[ 31.85406494],
[ 32.85406494],
[ 33.85406494],
[ 34.85406494],
[ 35.85406494],
[ 36.85406494],
[ 37.85406494],
[ 38.85406494],
[ 39.85406494],
[ 40.85406494],
[ 41.85406494]])
我需要像这样的pandas
DataFrame行,
Row_value
0 26.85406494
1 27.85406494
2 29.85406494
...
我尝试了以下内容,
df = pd.DataFrame({'Row_value':testarray})
我收到错误,
ValueError:如果使用所有标量值,则必须传递索引
如何使用索引传递这些值?
答案 0 :(得分:4)
仅将DataFrame构造函数用于参数列:
df = pd.DataFrame(a, columns=['a'])
print (df)
a
0 26.854065
1 27.854065
2 28.854065
3 29.854065
4 30.854065
5 31.854065
6 32.854065
7 33.854065
8 34.854065
9 35.854065
10 36.854065
11 37.854065
12 38.854065
13 39.854065
14 40.854065
15 41.854065
答案 1 :(得分:2)
尝试.reshape(-1, )
:
df = pd.DataFrame({'Row_value':testarray.reshape(-1, )})
df
Row_value
0 26.854065
1 27.854065
2 28.854065
3 29.854065
4 30.854065
5 31.854065
6 32.854065
7 33.854065
8 34.854065
9 35.854065
10 36.854065
11 37.854065
12 38.854065
13 39.854065
14 40.854065
15 41.854065
看起来您的testarray
是一个包含1列的2D数组。将其转换为1D数组。
替代方法是不传递字典,而是按原样传递testarray
,就像在jezrael的答案中一样。