我有2个数据框 第一
summ From Пк+ To Пк+ Widht Distance V1_left, м3 V2_left, м3
Nan 150 200 3 50 10 50
Nan 250 400 3 150 40 40
sum0 200 50 90
Nan 1000 1200 4 200 50 50
sum1 200 50 50
Nan 2300 2500 5 200 50 50
2600 2700 5 100 50 50
2700 2800 5 100 50 50
sum2 400 150 150
第二
summ From Пк+ To Пк+ Widht Distance V1_right, м3 V2_right[enter image description here][1], м3
Nan 150 200 3 50 10 50
Nan 250 400 3 150 40 40
Nan 500 600 3 100 70 30
Nan 600 700 3 100 100 20
Nan 800 900 3 100 130 10
sum0 500 350 150
Nan 1100 1200 4 100 50 50
Nan 1500 1800 4 300 50 50
sum1 400 100 100
Nan 2300 2500 5 200 50 50
sum2 200 50 50
我已经尝试过,pd.merge,concat,但是仍然无法得到我需要的结果
<table><tbody><tr><th>summ</th><th>From Пк+</th><th>To Пк+</th><th>Widht</th><th>Distance</th><th>V1_left, м3</th><th>V2_left, м3</th><th>From Пк+</th><th>To Пк+</th><th>Widht</th><th>Distance</th><th>V1_right, м3</th><th>V2_right, м3</th></tr><tr><td>Nan</td><td>150</td><td>200</td><td>3</td><td>50</td><td>10</td><td>50</td><td>150</td><td>200</td><td>3</td><td>50</td><td>10</td><td>50</td></tr><tr><td>Nan</td><td>250</td><td>400</td><td>3</td><td>150</td><td>40</td><td>40</td><td>250</td><td>400</td><td>3</td><td>150</td><td>40</td><td>40</td></tr><tr><td>Nan</td><td>500</td><td>600</td><td>3</td><td>100</td><td>70</td><td>30</td><td>Nan</td><td>Nan</td><td>Nan</td><td>Nan</td><td>Nan</td><td>Nan</td></tr><tr><td>Nan</td><td>600</td><td>700</td><td>3</td><td>100</td><td>100</td><td>20</td><td>Nan</td><td>Nan</td><td>Nan</td><td>Nan</td><td>Nan</td><td>Nan</td></tr><tr><td>Nan</td><td>800</td><td>900</td><td>3</td><td>100</td><td>130</td><td>10</td><td>Nan</td><td>Nan</td><td>Nan</td><td>Nan</td><td>Nan</td><td>Nan</td></tr><tr><td>sum0</td><td> </td><td> </td><td> </td><td>500</td><td>350</td><td>150</td><td> </td><td> </td><td> </td><td>200</td><td>50</td><td>90</td></tr><tr><td>Nan</td><td>1100</td><td>1200</td><td>4</td><td>100</td><td>50</td><td>50</td><td>1000</td><td>1200</td><td>4</td><td>200</td><td>50</td><td>50</td></tr><tr><td>Nan</td><td>1500</td><td>1800</td><td>5</td><td>300</td><td>50</td><td>50</td><td>Nan</td><td>Nan</td><td>Nan</td><td>Nan</td><td>Nan</td><td>Nan</td></tr><tr><td>sum1</td><td> </td><td> </td><td> </td><td>100</td><td>50</td><td>50</td><td> </td><td> </td><td> </td><td>200</td><td>50</td><td>50</td></tr><tr><td>Nan</td><td>2300</td><td>2500</td><td>5</td><td>200</td><td>50</td><td>50</td><td>2300</td><td>2500</td><td>5</td><td>200</td><td>50</td><td>50</td></tr><tr><td>Nan</td><td>Nan</td><td>Nan</td><td>Nan</td><td>Nan</td><td>Nan</td><td>Nan</td><td>2600</td><td>2700</td><td>5</td><td>100</td><td>50</td><td>50</td></tr><tr><td>Nan</td><td>Nan</td><td>Nan</td><td>Nan</td><td>Nan</td><td>Nan</td><td>Nan</td><td>2700</td><td>2800</td><td>5</td><td>100</td><td>50</td><td>50</td></tr><tr><td>sum2</td><td> </td><td> </td><td> </td><td>200</td><td>50</td><td>50</td><td> </td><td> </td><td> </td><td>400</td><td>150</td><td>150</td></tr><tr><td>400</td><td>150</td><td>150</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr></tbody></table>
答案 0 :(得分:0)
您尝试了以下代码吗?
import pandas as pd
df = pd.merge(df1, df2, on=['Summ', 'From', 'Nk+', 'To', 'Nk+'], how='outer')
基本上,oyu只需说出您仍要保留在新数据框中的哪些列作为索引,方法“外部”将合并一个完整的联接。