python 字典组成的列表 pandas_python – 将不规则的列表字典转换为pandas数据帧

(或列表清单……我刚刚编辑过)

是否存在用于转换此类结构的现有python / pandas方法

food2 = {}

food2["apple"] = ["fruit","round"]

food2["bananna"] = ["fruit","yellow","long"]

food2["carrot"] = ["veg","orange","long"]

food2["raddish"] = ["veg","red"]

进入像这样的数据透视表?

+---------+-------+-----+-------+------+--------+--------+-----+

| | fruit | veg | round | long | yellow | orange | red |

+---------+-------+-----+-------+------+--------+--------+-----+

| apple | 1 | | 1 | | | | |

+---------+-------+-----+-------+------+--------+--------+-----+

| bananna | 1 | | | 1 | 1 | | |

+---------+-------+-----+-------+------+--------+--------+-----+

| carrot | | 1 | | 1 | | 1 | |

+---------+-------+-----+-------+------+--------+--------+-----+

| raddish | | 1 | | | | | 1 |

+---------+-------+-----+-------+------+--------+--------+-----+

天真的,我可能只是循环通过字典.我看到如何在每个内部列表上使用地图,但我不知道如何在字典上加入/堆叠它们.一旦我加入了它们,我就可以使用pandas.pivot_table了

for key in food2:

attrlist = food2[key]

onefruit_pairs = map(lambda x: [key,x],attrlist)

one_fruit_frame = pd.DataFrame(onefruit_pairs,columns=['fruit','attr'])

print(one_fruit_frame)

fruit attr

0 bananna fruit

1 bananna yellow

2 bananna long

fruit attr

0 carrot veg

1 carrot orange

2 carrot long

fruit attr

0 apple fruit

1 apple round

fruit attr

0 raddish veg

1 raddish red

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值