簡體   English   中英

如何比較兩個不均勻的數據集列?

[英]how to compare two uneven dataset columns with each other?

在此處輸入圖像描述

如上圖所示,有兩個數據集的行數不同。 任務是將每個城市之間的距離與每輛車可以行駛的范圍進行比較,即(將 city1 和 city2 之間的距離與所有車輛類型范圍進行比較。)

假設我們有 2 個字典(如果你有一個 DataFrame,你可以使用to_dict()方法將其轉換為字典)

vehicles = {'A320': 5000, 'A330': 8000, 'B737': 5000, 'B747': 10000, 'Q400': 1500, 'ATR72': 1000}
city_distances = {'AA-BB': 3000, 'BB-CC': 6500, 'CC-AA': 400, 'AA-DD': 1000}

您可以簡單地創建一個嵌套的 for 循環並檢查您想要的任何條件。 例如,我確實檢查了車輛是否可以行駛城市路線。

for city_route in city_distances.keys():
    for vehicle in vehicles.keys():
        if vehicles[vehicle] >= city_distances[city_route]:
            print(f'Vehile {vehicle} can travel the {city_route} route')
        else:
            print(f"Vehile {vehicle} can't travel the {city_route} route")

好吧,你沒有告訴/向我們展示預期的輸出,所以我會給你代碼讓你.merge()兩個 DF,從那里你可以做你想做的一切:

df3 = df2.merge(df1, how='cross')
df3

截斷結果:

指數 城市_a 城市_b 車輛 范圍
0 AA-BB 3000 A320 5000
1 AA-BB 3000 A330 8000
2 AA-BB 3000 B737 5000
3 AA-BB 3000 B747 10000
4 AA-BB 3000 Q400 1500
5 AA-BB 3000 ATR72 1000
6 BB-CC 6500 A320 5000
7 BB-CC 6500 A330 8000

...

指數 城市_a 城市_b 車輛 范圍
16 CC-AA 400 Q400 1500
17 CC-AA 400 ATR72 1000
18 AA-DD 1000 A320 5000
19 AA-DD 1000 A330 8000
20 AA-DD 1000 B737 5000
21 AA-DD 1000 B747 10000
22 AA-DD 1000 Q400 1500
23 AA-DD 1000 ATR72 1000

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM