我有一个字典,希望将其转换为具有两列(值和列名)的pandas数据框。
mydict = {'government agency': ['FBI', 'CIA','NSA'], 'international organization': ['EU', 'NATO', 'World Bank'], 'company': ['Amazon', 'Google', 'Microsoft']}
mydict=pd.DataFrame(mydict)
我希望表格的格式如下
不是熊猫读的方式:
我的词典数据结构是否需要更改,或者可以在熊猫(即pandas.melt)中实现?
答案 0 :(得分:3)
构建数据框并使用melt
:
pd.DataFrame(mydict).melt(var_name='Column')
Column value
0 government agency FBI
1 government agency CIA
2 government agency NSA
3 international organization EU
4 international organization NATO
5 international organization World Bank
6 company Amazon
7 company Google
8 company Microsoft
答案 1 :(得分:3)
这里是单线:
import pandas
mydict = {'government agency': ['FBI', 'CIA','NSA'], 'international organization': ['EU', 'NATO', 'World Bank'], 'company': ['Amazon', 'Google', 'Microsoft']}
df = pandas.DataFrame(data=[(k,v) for k in mydict for v in mydict[k]], columns=["value", "column"])
输出:
value column
0 company Amazon
1 company Google
2 company Microsoft
3 government agency FBI
4 government agency CIA
5 government agency NSA
6 international organization EU
7 international organization NATO
8 international organization World Bank