首页 >后端开发 >Python教程 >如何从具有不同数组长度的字典创建 Pandas DataFrame?

如何从具有不同数组长度的字典创建 Pandas DataFrame?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-09 21:25:02263浏览

How to Create Pandas DataFrames from Dictionaries with Varying Array Lengths?

从具有不同数组长度的字典创建 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn