我有一個從csv讀取的數據幀。將條件行數據合併到新的數據幀
time node txrx src dest txid hops
0 34355146 2 TX 2 1 1 NaN
1 34373907 1 RX 2 1 1 1.0
2 44284813 2 TX 2 1 2 NaN
3 44302557 1 RX 2 1 2 1.0
4 44596500 3 TX 3 1 2 NaN
5 44630682 1 RX 3 1 2 2.0
6 50058251 2 TX 2 1 3 NaN
7 50075994 1 RX 2 1 3 1.0
8 51338658 3 TX 3 1 3 NaN
9 51382629 1 RX 3 1 3 2.0
我需要能夠創建一個新的數據幀這需要在TX/RX行中的值,創建一個單獨的行,每對:
- 花點時間從「時間'欄。如果'txrx'中的值是'TX',則將其放入'tx_time'列中,如果該值爲「RX」,則將該值放入'rx_time'列(在新數據幀的行內)。
- 「啤酒花」的值取自RX行。
- 這是爲每個['src','dest','txid']組完成的。
- 「節點」列被忽略。然後
東風應該是這樣的:
tx_time rx_time src dest txid hops
0 34355146 34373907 2 1 1 1
1 44284813 44302557 2 1 2 1
2 44596500 44630682 3 1 2 2
3 50058251 50075994 2 1 3 1
4 51338658 51382629 3 1 3 2
我明白怎麼做步驟(3),但是我被困在如何嘗試了一下(1)和(2)。建議嗎?
我已經從@Wen的_pivot_table_的解決方案,但_defaultdict_和piRSquared和費沙_concat_方法也都做的工作。我敢肯定,有一個關於哪個更有效的討論:) – mbadd