python - Python - 从其他两个不同形状的数据框创建新数据框的最佳方法?
问题描述
本质上,我正在尝试从其他两个数据框构建一个新的数据框,但情况有点复杂,我不确定最好的方法是什么。
在 DF1 中,每一行都是关于由 ID 定义的对象的数据,它看起来像这样:
ID Name datafield1 datafield2
1 Foo info1 info2
2 bar info3 info4
3 Foos info5 info6
DF2 有关于每个对象的月度数据,格式如下:
ID Name Month data
1 Foo 1/20 53.6
1 Foo 2/20 47.2
1 Foo 3/20 12.7
1 Foo 4/20 3.2
2 Bar 1/20 82.2
2 Bar 2/20 65.0
2 Bar 3/20 41.7
2 Bar 4/20 28.4
所以我想做的是通过从 DF1 中找到的 ID 搜索 DF2,然后将 DF2 中的月度数据和 DF1 中的几个重要列放入一个新的数据框中。
这是我到目前为止所拥有的,但从我所读到的内容来看,这是一个不好的方法:
IDs = df1['ID'].unique()
df3 = pd.DataFrame(rows = IDs)
for id, df in df1.groupby('ID'):
if ([df2['ID'] == id]):
*not sure what to put here*
所以听起来创建一个空的数据框是一种不好的方法,但我不确定如何处理它。我应该如何创建这个新的数据框?将月度数据转换为列并为每个 ID 设置一行是否更好(意味着这是一种更智能的方法),或者将每个月分开并从 DF1 中添加几列到每一行会更好吗?
解决方案
推荐阅读
- java - 如何在 vscode 中显示 Java 依赖项(添加外部 jar)?
- activemq - 是否可以将 HornetQ 的 JMS 主题与 ActiveMQ 进行通信,反之亦然
- ruby-on-rails - Phusion 乘客进程显示出非常不同的内存使用情况
- javascript - 如何使用 URL 中的查询字符串在 PhpStorm 中运行 Node.js 应用程序?
- unity3d - 如何使用图像组件在 Unity 中创建遮罩?
- r - 1 个定量变量和 2 个定性变量的 Levene 检验
- python - 字符串中唯一字符的计数和返回值
- javascript - 想要使用 Sequelize 从对象数组中删除任务
- java - @OneToOne 关系 Spring Data JPA/Hibernate 实体关系
- php - 在删除记录之前检查 Laravel 8 中是否存在 hasMany 关系