gpt4 book ai didi

python - 如何从具有不同键值的字典创建 pydatatable 数据框?

转载 作者:行者123 更新时间:2023-12-04 01:26:00 25 4
gpt4 key购买 nike

我正在尝试实现一个功能,将更长的列转换为 pydatatable 中的更宽的列,在这个过程中,我遇到了一个字典问题,每个键的大小不同,如下面的代码所示。

long_to_wide_dict = {
'eggs':[3,5,6,9],
'fruits':[1,2,3,4,5],
'chicken':[5,10,2],
'beef':[10,10],
'bread':[5,4,3,2,1]
}

我将此字典传递给 Frame 对象
dt.Frame(long_to_wide_dict)

这里它抛出一个错误

ValueError: Column 1 has different number of rows (5) than the preceding columns (4)



很明显,当数据结构传递给 Frame 时,每个键都应该具有相同大小的值。那么,是否有任何选项可以像 Force 一样将 NA 填充到具有较小值的键中,以便每个键的大小相等。

你有什么其他的建议吗?

最佳答案

没有force Frame 构造函数中的参数,但 dt.cbind() 中有一个.因此,您可以首先为字典中的每个键/值创建单独的帧,然后使用 force=True 将它们绑定(bind)到单个帧中。 :

>>> dt.cbind([dt.Frame({k:v}) for k,v in long_to_wide_dict.items()], force=True)
| eggs fruits chicken beef bread
-- + ---- ------ ------- ---- -----
0 | 3 1 5 10 5
1 | 5 2 10 10 4
2 | 6 3 2 NA 3
3 | 9 4 NA NA 2
4 | NA 5 NA NA 1

[5 rows x 5 columns]

关于python - 如何从具有不同键值的字典创建 pydatatable 数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61927668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com