【发布时间】:2015-11-07 00:24:00
【问题描述】:
我有一个字典列表,其中的值作为 numpy 数组返回(通常为空)。
data=[{'width': array([])},
{'width': array([])},
{'width': array([])},
{'width': array([])},
{'width': array([])},
{'width': array([ 0.64848222])},
{'width': array([ 0.62241745])},
{'width': array([ 0.76892571])},
{'width': array([ 0.69913647])},
{'width': array([ 0.7506934])},
{'width': array([ 0.69087949])},
{'width': array([ 0.65302866])},
{'width': array([ 0.67267989])},
{'width': array([ 0.63862089])}]
如果值是浮点数而不是 numpy 数组 dtype,我想创建一个 DataFame。我也想将空数组转换为 NaN 值。
我尝试过使用 df=pd.DataFrame(data, dtype=float),它返回一个 DataFame,其值为 np.arrays,如下所示:
width
0 []
1 []
2 []
3 []
4 []
5 [0.648482224582]
6 [0.622417447245]
7 [0.768925710479]
8 [0.699136467373]
9 [0.75069339816]
10 [0.690879488242]
11 [0.653028655088]
12 [0.672679885077]
13 [0.638620890633]
我还尝试在使用 df.values.astype(float) 创建 df 后重铸其值,但出现以下错误:
ValueError: setting an array element with a sequence.
我试图为 DataFame 获得的最终输出如下所示:
width
0 NaN
1 NaN
2 NaN
3 NaN
4 NaN
5 0.648482224582
6 0.622417447245
7 0.768925710479
8 0.699136467373
9 0.75069339816
10 0.690879488242
11 0.653028655088
12 0.672679885077
13 0.638620890633
【问题讨论】:
标签: python pandas numpy dictionary dataframe