gpt4 book ai didi

python - 将一对多映射字典转换为Dataframe

转载 作者:行者123 更新时间:2023-11-28 20:03:03 24 4
gpt4 key购买 nike

我有一个字典如下:

d={1:(array[2,3]), 2:(array[8,4,5]), 3:(array[6,7,8,9])}

如图所示,这里每个键的值都是可变长度数组。

现在我想把它转换成DataFrame。所以输出看起来像:

A   B
1 2
1 3
2 8
2 4
2 5
3 6
3 7
3 8
3 9

我使用了 pd.Dataframe(d),但它不处理一对多映射。任何帮助将不胜感激。

最佳答案

使用Series构造函数 str.len对于 lists 的长度(array 已转换为 lists)。

然后创建新的DataFramenumpy.repeat , numpy.concatenateIndex.values :

d = {1:np.array([2,3]), 2:np.array([8,4,5]), 3:np.array([6,7,8,9])}
print (d)

a = pd.Series(d)
l = a.str.len()
df = pd.DataFrame({'A':np.repeat(a.index.values, l), 'B': np.concatenate(a.values)})
print (df)
A B
0 1 2
1 1 3
2 2 8
3 2 4
4 2 5
5 3 6
6 3 7
7 3 8
8 3 9

关于python - 将一对多映射字典转换为Dataframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44301148/

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