给出一个字典,例如:
records = {0:{'name':'John', 'salary':'5000'}, 1:{'name':'Bob', 'salary':'3500'}}
如果我想获取并存储(在csv中)数据帧,例如:
name salary
John 5000
通过使用records [0]作为访问内部字典的方法,我该怎么做?
我尝试过:
df = pd.DataFrame(records[0], index=[0])
df= pd.DataFrame(list(records[0].values()), columns=list(records[0].keys()))
df= pd.DataFrame.from_dict(records[key], orient='columns')
但是它们都不如预期那样工作(第二个给我一个错误,第一和最后一个只有一列)
答案 0 :(得分:4)
将DataFrame.from_dict
与orient='index'
一起使用:
df = pd.DataFrame.from_dict(records, orient='index')
print (df)
name salary
0 John 5000
1 Bob 3500
编辑-对于record
的第一个值,传递到嵌套列表:
df = pd.DataFrame([records[0]])
print (df)
name salary
0 John 5000
答案 1 :(得分:2)
您可以结合使用https://github.com/adjust/cordova_sdk/issues/40和DataFrame.from_dict()
:
records = {0:{'name':'John', 'salary':'5000'}, 1:{'name':'Bob', 'salary':'3500'}}
pd.DataFrame.from_dict(records).T
输出
+----+-------+--------+
| | name | salary |
+----+-------+--------+
| 0 | John | 5000 |
| 1 | Bob | 3500 |
+----+-------+--------+
编辑 只获取第一条记录
df[df.index==0]
+----+-------+--------+
| | name | salary |
+----+-------+--------+
| 0 | John | 5000 |
+----+-------+--------+