![](/img/trans.png)
[英]Pandas: insert column from another df to new df at certain position
[英]insert a column from another df into another df as a column. stucked for hours! merge(join) with different column
这2个df我尝试了从join(它需要一个公共列)到union以及要合并的其他一些代码的不同代码,但是我无法得到我想要的结果,我也直接尝试了
data.join(tdf, how='inner').select('*')
data.join(tdf, how='outer').select('*')
以上两个代码都没有给我一个想要的df。
数据显示()
|_c0| description| medical_specialty| sample_name| transcription| keywords|
+---+--------------------+--------------------+-------------------------------------------------------------+
| 1| Consult for lapa...| Bariatrics|Laparoscopic Gas...|PAST MEDICAL HIST...|bariatrics, lapar...|
| 2| Consult for lapa...| Bariatrics|Laparoscopic Gas...|"HISTORY OF PRESE...| at his highest h...|
| 3| 2-D M-Mode. Dopp...| Cardiovascular /...|2-D Echocardiogr...|2-D M-MODE: , ,1....|cardiovascular / ...|
| 4| 2-D Echocardiogram| Cardiovascular /...|2-D Echocardiogr...|1. The left vent...|cardiovascular / ...|
如何将年龄列添加为上述df/的列或如何合并这些dfs
tdf.show()
|age|
+---+
| |
| 42|
| |
| |
| 30|
| |
| |
目标:
+---+--------------------+--------------------+-------------------+------------------+----------------------+---+
|_c0| description| medical_specialty| sample_name| transcription| keywords|age|
+---+--------------------+--------------------+-------------------------------------------------------------+---+
| 1| Consult for lapa...| Bariatrics|Laparoscopic Gas...|PAST MEDICAL HIST...|bariatrics, lapar...| |
| 2| Consult for lapa...| Bariatrics|Laparoscopic Gas...|"HISTORY OF PRESE...| at his highest h...| 42|
| 3| 2-D M-Mode. Dopp...| Cardiovascular /...|2-D Echocardiogr...|2-D M-MODE: , ,1....|cardiovascular / ...| |
| 4| 2-D Echocardiogram| Cardiovascular /...|2-D Echocardiogr...|1. The left vent...|cardiovascular / ...| |
根据我的理解,您希望根据它们的 row_number 加入两个数据框,因为您的数据包含 row_number 但您的年龄 df 不包含。 所以你可以添加一个行号,然后加入你的 dataframe 像:
tdf = tdf.withColumn('Row_id',f.row_number().over(Window.orderBy(f.lit('a'))))
joined_data = data.join(tdf, data._c0==tdf.Row_id).select('*')
这会将年龄列加入您现有的 dataframe。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.