Python 如何从由数组中、字典中的嵌套值列表组成的输出构造数据帧
类变量的数据输出如下:Python 如何从由数组中、字典中的嵌套值列表组成的输出构造数据帧,python,arrays,pandas,dataframe,dictionary,Python,Arrays,Pandas,Dataframe,Dictionary,类变量的数据输出如下: {'coupling.2.b': array([[0.00247262], [0.00248247], [0.00249233], ..., [0.01106487], [0.01106487], [0.01106487]]), 'coupling.2.ca': array([[9.98543405e-09], [9.97095234e-09], [9.95652127e-09], ...,
{'coupling.2.b': array([[0.00247262],
[0.00248247],
[0.00249233],
...,
[0.01106487],
[0.01106487],
[0.01106487]]), 'coupling.2.ca': array([[9.98543405e-09],
[9.97095234e-09],
[9.95652127e-09],
...,
[1.22356842e-08],
[1.22356843e-08],
[1.22356843e-08]]), 'coupling.2.gnmda': array([[0.002 ],
[0.002 ],
[0.002 ],
...,
[0.00200253],
[0.00200253],
[0.00200253]]), 'coupling.2.nu': array([[1.30000000e-05],
[1.30000000e-05],
[1.30000000e-05],
...,
[1.29998715e-05],
[1.29998715e-05],
[1.29998715e-05]]), 'coupling.2.nutilde': array([[1.30000000e-05],
[1.30000000e-05],
[1.30000000e-05],
...,
[1.29971456e-05],
[1.29971456e-05],
[1.29971456e-05]]), 'pop.2.q': array([[11.07967784],
[11.07967784],
[11.07967785],
...,
我试图将其转换为一个数据序列,每个dict键都包含列标题和各自的dict值作为其数据序列。谢谢你的帮助。这就是你要找的吗
from numpy import array
data = {
"coupling.2.b": array([[0.00247262], [0.00248247], [0.00249233], [0.01106487], [0.01106487], [0.01106487]]),
"coupling.2.ca": array([[9.98543405e-09], [9.97095234e-09], [9.95652127e-09], [1.22356842e-08], [1.22356843e-08], [1.22356843e-08]]),
"coupling.2.gnmda": array([[0.002], [0.002], [0.002], [0.00200253], [0.00200253], [0.00200253]]),
"coupling.2.nu": array([[1.30000000e-05], [1.30000000e-05], [1.30000000e-05], [1.29998715e-05], [1.29998715e-05], [1.29998715e-05]]),
"coupling.2.nutilde": array([[1.30000000e-05], [1.30000000e-05], [1.30000000e-05], [1.29971456e-05], [1.29971456e-05], [1.29971456e-05]]),
}
data = {k: v.flatten() for k, v in data.items()}
df = pd.DataFrame(data)
print(df)
coupling.2.b coupling.2.ca coupling.2.gnmda coupling.2.nu coupling.2.nutilde
0 0.002473 9.985434e-09 0.002000 0.000013 0.000013
1 0.002482 9.970952e-09 0.002000 0.000013 0.000013
2 0.002492 9.956521e-09 0.002000 0.000013 0.000013
3 0.011065 1.223568e-08 0.002003 0.000013 0.000013
4 0.011065 1.223568e-08 0.002003 0.000013 0.000013
5 0.011065 1.223568e-08 0.002003 0.000013 0.000013
这里的技巧是通过numpy.ndarray.flatte
方法展平所有数组。一旦这样做,它将无缝地传递到数据帧中