从具有不同数组长度的字典创建 DataFrame
从值为 numpy 数组的字典创建 DataFrame 时,可能会出现后续错误如果数组的长度不同。这是因为 Pandas 要求每列的数组长度一致。
为了克服这个问题,Pandas 允许使用缺失值 (NaN) 来填充较短的数组。这样可以创建具有不同长度的列的 DataFrame。
Python 2.x:
import pandas as pd import numpy as np d = dict( A = np.array([1,2]), B = np.array([1,2,3,4]) ) pd.DataFrame(dict([ (k,pd.Series(v)) for k,v in d.iteritems() ]))
Python 3.x:
import pandas as pd import numpy as np d = dict( A = np.array([1,2]), B = np.array([1,2,3,4]) ) pd.DataFrame(dict([ (k,pd.Series(v)) for k,v in d.items() ]))
在这两种情况下,生成的 DataFrame 将具有 A 列和 B 列,其中 A 包含字典中相应数组的前两个值,B 包含所有四个值。较短的数组 (A) 用 NaN 填充缺失值。
输出:
A B 0 1 1 1 2 2 2 NaN 3 3 NaN 4
以上是如何从具有不同数组长度的字典创建 Pandas DataFrame?的详细内容。更多信息请关注PHP中文网其他相关文章!