python - 将包含列表列表的 Python Dict 转换为 pandas Dataframe
问题描述
我有以下代码:
names = ['Tom', 'Dick', 'Harry']
marriageDates = ['02-02-1958', '08-07-1969', ['01-21-1973','07-14-1981']]
people = {
"Name": names,
"Marriage Date(s)": marriageDates
}
df = pd.DataFrame(people)
print(df)
这使:
Name Marriage Date(s)
0 Tom 02-02-1958
1 Dick 08-07-1969
2 Harry [01-21-1973, 07-14-1981]
但是,我希望输出为:
Name 1st Marriage Date 2nd Marriage Date
0 Tom 02-02-1958
1 Dick 08-07-1969
2 Harry 01-21-1973 07-14-1981
换句话说,我的字典中的一个键是列表列表。而不是该键填充条目是列表的列(如第一个表中的最后一行),我希望将该列表的第 n 个元素放置在新的相邻列中(如第二个表中)。有没有办法做到这一点?
解决方案
有一种非常简单的方法可以做到这一点。我最近也发现了它。
df2 = df['Marriage Date(s)'].apply(pd.Series)
pd.concat([df[['Name']], df2], axis=1).rename(columns={0:'1st Marriage Date',1:'2st Marriage Date'})
Name 1st Marriage Date 2st Marriage Date
0 Tom 02-02-1958 NaN
1 Dick 08-07-1969 NaN
2 Harry 01-21-1973 07-14-1981
推荐阅读
- firebase - Firebase - 缺少 IAM 权限“cloudscheduler.jobs.update”
- git - 无法从远程推送 git 标签?
- android - 为什么 Retrofit reponse.body().toString() 不显示响应中的 JSON?
- chisel - 如何将 IO 端口动态添加到 Chisel Bundle?
- java - 人生游戏没有正确重置
- buffer - 如何在 GEOS 中生成多边形的负缓冲区?
- c++ - 在 C++ 中将文件读入结构
- python - 将表情符号添加到嵌入消息
- django - 在表单上添加验证错误时,获取“PostPagos”对象没有属性“clean_data”
- javascript - 如何在 Node 中使用导入的 ES6 模块运行文件