[英]Convert dictionary from wide to long form using pandas
我有一个使用不同键的Python字典列表(所有中都存在Response Key),我想将其转换为Panda Dataframe,以便所有键值都显示为行,并且Response Key值重复作为列。 例如,以下列表
[ {' 回应 ':1,'工作生活':5,'生活家庭':2,'家庭平衡':10},{' 回应 ':2,'鼓励管理':11,'管理职业':1 ,“职业理想”:4,“理想发展”:8},{“ 响应 ”:3,“鼓励人”:15,“人经理”:9,“经理问”:5,“问员工”:9 } ]
应该成为3列数据框,因为
Response | Attribute | Value
1, work life, 5
1, life family, 2
1, family balance, 10
2, encouragement management, 11
2, management career, 1
2, career aspirations, 4
2, aspirations develop, 8
3, encourage people, 15
3, people managers, 9
3, managers ask, 5
3, ask employees, 9
这可能是您要寻找的。 使用stack
,然后重置索引和列名称。
df = pd.DataFrame(d).set_index('Response').stack().reset_index()
df.columns = ['Response', 'Attribute', 'Value']
df
Response Attribute Value
0 1 family balance 10.0
1 1 life family 2.0
2 1 work life 5.0
3 2 aspirations develop 8.0
4 2 career aspirations 4.0
5 2 encouragement management 11.0
6 2 management career 1.0
7 3 ask employees 9.0
8 3 encourage people 15.0
9 3 managers ask 5.0
10 3 people managers 9.0
d
是您的词典数据。 请记住,字典不是有序的 ,因此总是期望与您的问题相同的顺序是不合理的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.