0
我想使圖的以下表示(邊緣從n1
到n2
)是對稱的,這意味着我想複製交換節點的DataFrame的每一行。交換索引列的Pandas DataFrame的重複行
數據準備(實際上,我導入此從具有固定結構的電子表格):
import pandas as pd
df = pd.DataFrame({'n1':[1,1,2],
'n2':[2,3,4],
'L':[10,20,40],
'D':[5,6,7]})
df = df.set_index(['n1','n2'])
前:
D L
n1 n2
1 2 5 10
3 6 20
2 4 7 40
後:
D L
n1 n2
1 2 5 10
3 6 20
2 4 7 40
1 5 10
3 1 6 20
4 2 7 40
正是我需要的,謝謝。 'df2 = df1'和'df2 = df1.copy()'有區別嗎? – ojdo
在第一種情況下,df2和df1是兩個相同的對象。在第二種情況下,它們是不同的。你可以通過檢查'id(df)'和'id(df2)' – waitingkuo
來檢查它。在這種情況下,似乎我需要copy()來防止修改原始索引標籤。我想要結果有(n1,n2)索引,而不是(n2,n1)。我建議編輯。 – ojdo