Python 三维numpy阵列到数据帧
我有一个三维numpy数组Python 三维numpy阵列到数据帧,python,deep-learning,time-series,recurrent-neural-network,Python,Deep Learning,Time Series,Recurrent Neural Network,我有一个三维numpy数组 ([[[0.30706802]], [[0.19451728]], [[0.19380492]], [[0.23329106]], [[0.23849282]], [[0.27154338]], [[0.2616704 ]], ... ]) 形状为844,1,1,由RNN模型得出。预测 y_prob=加载的_model.predictX ,我的问题是如何将其转换为数据帧。 我用过Keras 我的目标是: 0
([[[0.30706802]],
[[0.19451728]],
[[0.19380492]],
[[0.23329106]],
[[0.23849282]],
[[0.27154338]],
[[0.2616704 ]], ... ])
形状为844,1,1,由RNN模型得出。预测
y_prob=加载的_model.predictX
,我的问题是如何将其转换为数据帧。
我用过Keras
我的目标是:
0 0.30706802
7 0.19451728
21 0.19380492
35 0.23329106
42 ...
...
815 ...
822 ...
829 ...
836 ...
843 ...
Name: feature, Length: 78, dtype: float32
给你
import pandas as pd
y = ([[[[11]],[[13]],[[14]],[[15]]]])
a = []
for i in y[0]:
a.append(i[0])
df = pd.DataFrame(a)
print(df)
输出:
0
0 11
1 13
2 14
3 15
可以为axis=0和axis=1自由设置自定义索引值 您可以尝试:
s=pd.Seriesyour_array.flatten,name='feature'
然后,您可以使用s.to_frame将序列转换为数据帧。其思想是首先将嵌套列表展平到list,然后使用数据帧的from_records方法在df中将其转换
import numpy as np
import pandas as pd
data = np.array([[[0.30706802]],[[0.19451728]],[[0.19380492]],[[0.23329106]],[[0.23849282]],[[0.27154338]],[[0.2616704 ]]])
import itertools
data = list(itertools.chain(*data))
df = pd.DataFrame.from_records(data)
没有itertools
data = [i for j in data for i in j]
df = pd.DataFrame.from_records(data)
或者你可以使用其中一个答案中提到的展平方法,但是你可以像这样直接使用它
pd.DataFrame(data.flatten(),columns = ['col1'])
好的,你的解决方案非常有效,结果没有得到nan值,谢谢