作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试实现一个功能,将更长的列转换为 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]
}
dt.Frame(long_to_wide_dict)
ValueError: Column 1 has different number of rows (5) than the preceding columns (4)
最佳答案
没有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/
我是一名优秀的程序员,十分优秀!