繁体   English   中英

从字典和列表中生成 dataframe 的最简单方法

[英]Easiest way to generate dataframe out of dict and list

我有一个字典和一个列表:

d1 = {"k1": [1,2,3], "k2": [4,5,6], "k3": [3,2,1]}
l1 = ["label1", "label2", "label1"]

我想把它组合成一个 dataframe。 l1中的每个元素对应d1中的一个键

所需的 output(熊猫数据框):

  key  value   label
0  k1   1     label1
1  k1   2     label1
2  k1   3     label1
3  k2   4     label2
4  k2   5     label2
5  k2   6     label2
6  k3   3     label1
7  k3   2     label1
8  k3   1     label1

到达那里最简单和最pythonic的方式是什么?

我们可以使用DataFrame.meltSeries.map智能使用zipping列表和字典键来实现这一点:

from collections import OrderedDict

df = pd.DataFrame(d1).melt(var_name='key')
df['label'] = df['key'].map(OrderedDict(zip(d1.keys(), l1)))

  key  value   label
0  k1      1  label1
1  k1      2  label1
2  k1      3  label1
3  k2      4  label2
4  k2      5  label2
5  k2      6  label2
6  k3      3  label1
7  k3      2  label1
8  k3      1  label1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM