gpt4 book ai didi

python - 将 Pandas 数据框转换为字典,其中键是索引,值是列值列表

转载 作者:太空宇宙 更新时间:2023-11-03 13:57:00 25 4
gpt4 key购买 nike

我有一个数据框

df:

    cola    colb   colc   cold
0 0 'a' 'b' 'c'
1 1 'd' None None
2 2 'g' 'h' None

我想将它转换成 dict,其中索引是键,列值列表是如下所示的值:

d = {0 : [0,'a','b','c'], 1: [1,'d'], 2: [2,'g','h'] }

我尝试过的:

df.to_dict(orient='index')

我也尝试在 orient 参数中使用其他值,但没有任何效果。

编辑:

我想忽略输出中显示的字典中的 NULL 值。

最佳答案

使用DataFrame.to_dict使用 orient='list',仅在转置 DataFrame 之前:

d = df.T.to_dict(orient='list')
print (d)
{0: [0, 'a', 'b', 'c'], 1: [1, 'd', 'e', 'f'], 2: [2, 'g', 'h', 'i']}

编辑:

d = df.stack().groupby(level=0).apply(list).to_dict()
print (d)
{0: [0, 'a', 'b', 'c'], 1: [1, 'd'], 2: [2, 'g', 'h']}

或者:

d = {k:[x for x in v if x is not None] for k, v in df.T.to_dict(orient='list').items()}
print (d)
{0: [0, 'a', 'b', 'c'], 1: [1, 'd'], 2: [2, 'g', 'h']}

关于python - 将 Pandas 数据框转换为字典,其中键是索引,值是列值列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54308087/

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