作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在使用如下所示的字典 D:
D = {
'Instagram': [{'total_post': 3}],
'Twitter': [{'total_post': 9}],
'Facebook': [{'total_post': 1}],
'YouTube': [{'total_post': 5}]
}
我想用这种结构制作一个DataFrame:
total_post
Instagram 3
Twitter 9
Facebook 1
YouTube 5
我想我需要使用 key (Instagram、Twitter、Facebook、YouTube、total_post)来制作所需的 DataFrame,但目前我在寻找如何做到这一点时遇到了问题。这是我当前的代码,返回
final_df
:
list_dataframe = [] #populate dictionary values to a list
for key, values in D.items():
df = pd.DataFrame(values)
list_dataframe.append(df)
# combine dataframe
indexed_df = [df.set_index(index) for df in list_dataframe] #my current index = total_post
final_df = pd.concat(indexed_df, axis=1)
final_df.fillna(0, inplace=True)
这是
list_dataframe
当前结果:
[ total_post
0 3, total_post
0 9, total_post
0 1, total_post
0 5]
拿 key 怎么办?或者,有没有更好的方法来处理字典 D?
最佳答案
使用列表理解来选择嵌套列表的第一个值和键 total_post
:
df = pd.DataFrame([v[0]['total_post'] for k, v in D.items()],
index=D.keys(),
columns=['total_post'])
print (df)
total_post
Instagram 3
Twitter 9
Facebook 1
YouTube 5
或使用
DataFrame.from_dict
:
df = pd.DataFrame.from_dict({k:v[0] for k, v in D.items()}, orient='index')
print (df)
total_post
Facebook 1
Instagram 3
Twitter 9
YouTube 5
关于Python:如何从大字典中存在的 2 个键生成 DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64869731/
我是一名优秀的程序员,十分优秀!