楼主: TheWeak
1084 6

[统计软件与数据分析] 【Python代码求助】如何快速完成多方式匹配 [推广有奖]

  • 0关注
  • 1粉丝

硕士生

61%

还不是VIP/贵宾

-

威望
0
论坛币
254 个
通用积分
2.1018
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
873 点
帖子
57
精华
0
在线时间
182 小时
注册时间
2018-1-3
最后登录
2024-11-28

楼主
TheWeak 发表于 2022-6-24 15:55:58 |AI写论文
5论坛币
现在有10个dataframe,命名为data_1-data_10,每个dataframe的列名为[code1, code2, code3, code4, a, b, c],想把每个表的a列根据code匹配在一起,思路是先按code1匹配,如果code1重复或缺失,则按code2匹配,如果code2重复或缺失,则按code3匹配……以此类推,最终得到的效果是[code1, code2, code3, code4, a_1, a_2,..., a_10]。
假如直至code4依然无法匹配到前表,则作为新行进入最终表格(即最后的merge效果为outer)

关键词:python 如何快速 Dataframe Frame Merge Python

沙发
olympic 发表于 2022-6-24 19:06:45
双重循环,差不多可以实现匹配功能

藤椅
TheWeak 发表于 2022-6-26 18:08:57
olympic 发表于 2022-6-24 19:06
双重循环,差不多可以实现匹配功能
谢谢,请问可以更详细地讲解一下吗?我只是个初学者

板凳
yembin 学生认证  发表于 2022-7-2 11:12:56
可以考虑pandas的merge()方法内连接或pd.concat()

报纸
TheWeak 发表于 2022-7-2 22:10:49
yembin 发表于 2022-7-2 11:12
可以考虑pandas的merge()方法内连接或pd.concat()
merge会出现很多同名列……太累赘了

地板
npv7910 发表于 2022-7-14 11:34:48
可以试试:
1.先把所有文件合并在一起。 pd.concat
2. 然后开始合并,Code1, Code2, Code3, Code4  

3. 看看你的a_1, a_2 ....是否需要整合起来
4. 如果 concat, merge, join 能满足最好,

5. 满足不了,研究一下 iloc,pivot_table

4. Python 处理数据还是很方便的

7
TheWeak 发表于 2022-7-16 17:48:31
npv7910 发表于 2022-7-14 11:34
可以试试:
1.先把所有文件合并在一起。 pd.concat
2. 然后开始合并,Code1, Code2, Code3, Code4
感谢回复!自己写了个长长长的代码解决了,太菜了只能走点弯路

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
扫码
拉您进交流群
GMT+8, 2026-2-4 10:37