python - 来自展平列类型系列或列表的数据框
问题描述
我想从我的起始数据集中获得一个数据集,如下所示:
time details bis as go
01:20 {'direction': 'nord', abc {'a':12,'b':20 } yes
'label': 'one',
'media': 'yes'}
01:25 {'direction': 'est', def {'a':2,'b':15 } no
'label': 'one',
'media': 'no'}
期望的结果:
time direction label media bis a b go
01:20 nord one yes abc 12 20 yes
01:25 est one no def 2 15 no
解决方案
使用pd.concat:
result = pd.concat([df[['time', 'bis', 'go']],
pd.DataFrame.from_records(df.details),
pd.DataFrame.from_records(df['as'])], axis=1)
print(result)
输出
time bis go direction label media a b
0 01:20 abc yes nord one yes 12 20
1 01:25 def no est one no 2 15
您可以像这样对列重新排序:
result = result[['time', 'direction', 'label', 'media', 'bis', 'a', 'b', 'go']]
推荐阅读
- python - Django 2.1.7 获取会话密钥
- excel - 使用 VBA 刷新数据透视表
- spring-boot - 在不同场景下执行的同一作业的单独配置文件
- python - Python逐行匹配正则表达式模式
- azure-devops - 无法通过 REST API 获取 Azure DevOps 事件
- ios - 如何为 UITextView 的第一行设置不同的字体大小?
- python - 在 Python 3 中对数据框进行过采样并保留其统计属性的最佳方法是什么?
- android - 开始活动中的意图操作视图,以使用 Oauth 实现 Linkedin 登录 api v2
- excel - 根据数量将单词拆分为多行
- dialogflow-es - DialogFlow 集成 Cortana ApiAiSDK