假设我有一个包含 10 个键值对的字典。每个条目都包含一个 numpy 数组。但是,数组的长度对于所有这些都不相同。
如何创建每列包含不同条目的数据框?
当我尝试:
pd.DataFrame(my_dict)
我得到:
ValueError: arrays must all be the same length
有什么办法可以克服吗?我很高兴 Pandas 使用NaN这些列填充较短的条目。
NaN
在 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() ])) Out[7]: A B 0 1 1 1 2 2 2 NaN 3 3 NaN 4
在 Python 2.x 中:
替换d.items()为d.iteritems().
d.items()
d.iteritems()