我正在做一个数据集上的数据管理来训练我自己。我有两个表,第一个被称为"Suivi"和第二个"Treatement",我想合并接下来的两个表的方式得到第三个。
随附表格:
| 后续_id|成员标识|鼻炎_症状|药物标识1|药物标识2|药物标识3|药物标识4|药物标识5|
| - ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|
| 小行星3357195|小行星85763|五十一||||||
| 小行星3357665|小行星87339|八个||||||
| 小行星3358237|小行星87343|十七||||||
| 小行星335|八七三四五|二十六||||||
| 小行星335|小行星87343|无||||||
| 小行星3359371|小行星87343|无||||||
| 小行星336|小行星87343|三十||||||
| 小行星336|八七三四五|四个||||||
| 小行星336|小行星87343|无||||||
| 小行星336|小行星87505|六十四||||||
治疗:
| 治疗ID|suivi_数据_标识|药物标识|
| - ------|- ------|- ------|
| 小行星927231|小行星3357195|小行星7501|
| 小行星927765|小行星3357665|小行星7489|
| 小行星928423|小行星3358237|小行星7489|
| 小行星928425|小行星3358237|小行星7501|
| 小行星928427|小行星3358237|小行星7623|
| 小行星928539|小行星335|小行星7489|
| 小行星929173|小行星335|小行星7489|
| 小行星929741|小行星3359371|小行星7489|
| 小行星93|小行星336|小行星7489|
| 小行星932937|小行星336|小行星7489|
| 小行星933381|小行星336|小行星7569|
| 小行星933383|小行星336|小行星7645|
| 小行星933385|小行星336|小行星7789|
| 小行星933387|小行星336|小行星19159|
| 小行星933393|小行星336|小行星7569|
| 小行星933395|小行星336|小行星7605|
| 小行星933397|小行星336|小行星7645|
| 小行星933399|小行星336|小行星7789|
| 小行星933401|小行星336|小行星19159|
需要的表:
| 后续_id|成员标识|鼻炎_症状|药物标识1|药物标识2|药物标识3|药物标识4|药物标识5|
| - ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|
| 小行星3357195|小行星85763|五十一|小行星7501|||||
| 小行星3357665|小行星87339|八个|小行星7489|||||
| 小行星3358237|小行星87343|十七|小行星7489|小行星7501|小行星7623|||
| 小行星335|八七三四五|二十六|小行星7489|||||
| 小行星335|小行星87343|无|小行星7489|||||
| 小行星3359371|小行星87343|无|小行星7489|||||
| 小行星336|小行星87343|三十|小行星7489|||||
| 小行星336|八七三四五|四个|小行星7489|||||
| 小行星336|小行星87343|无|小行星7569|小行星7645|小行星7789|小行星19159||
| 小行星336|小行星87505|六十四|小行星7569|小行星7605|小行星7645|小行星7789|小行星19159|
有没有办法用sql(在access中?!)或者用R或python做一个函数来完成。
先谢了
4条答案
按热度按时间utugiqy61#
你要找的是一个连接。
比如:
vxf3dgd42#
我知道有两种方法。要么使用Pivot函数(https://learn.microsoft.com/de-de/sql/t-sql/queries/from-using-pivot-and-unpivot?view=sql-server-ver16),要么使用mssql中的ROW_NUMMBER()函数对数据进行排序。(其他数据库应该有类似的函数。)也可以编写一些动态的东西,但这里是staitc版本:
iq0todco3#
使用Pandas的Python解决方案:
在这里,我使用
pandas merge function
来连接两个表,即Suivi_Table
和Treatment_Table
。接下来,为了识别两个表Renaming
的类似列suivi_data_id
到Suivi_id
,。接下来提到我想从治疗表中选择的[[]]
中的列名。bsxbgnwa4#
然而,根据你想如何合并它们,你最好使用完全连接。假设你有suivi_id和suivi_data_id,我会使用它们来连接,你应该希望最终得到每条记录的每个治疗ID: