1
假設我有兩個dataframes:減去大熊貓dataframes而留下了一些列的完整
data1 = """
idx, stat, val
1, 1, 5
2, 1, 10
3, 2, 15
4, 3, 20
"""
data2 = """
idx, stat, val
2, 1, 8
4, 5, 16
"""
(對不起 - 我不知道如何在大熊貓容易編寫這一點 - 我會在現實生活中的CSV閱讀)。
我想減去這兩個數據框,以便只減去val列(實際上這些是站座標)。如果兩個數據幀中只有一個具有相應的索引值(ascii格式的列idx),那麼結果應該是NaN。也可以,如果不匹配的行立即刪除(我會後來無論如何調用dropna)。
因此,我期望的結果將是:
desired = """
idx, stat, val
1, 1, NaN
2, 1, 2
3, 2, NaN
4, 3, 4
"""
原則data1.sub(data2)
很好地工作 - 除了我不能明白的方式如何「保護」,從減法統計列。我也試過data1.sub(data2['val'], axis=0)
,但是這搞砸了在data1.sub(data2)
中自動執行的行匹配。一種解決方法是在之後用來自data1
的原始值重新替換統計列,但這看起來相當笨拙。