我有一個非常大的三列文件。前兩個是整數,第三個是一個字符串。我使用使用隨機數據對選擇熊貓
data = pd.read_csv("edges+stuff.txt", sep=' ', header=None, dtype={0:np.uint32, 1:np.uint32, 2:np.str})
閱讀使用大熊貓下面是一些例子假數據:
2 0 Somestuff9
2 0 Somestuff0
1 1 Somestuff5
0 0 Somestuff7
2 0 Somestuff9
2 0 Somestuff5
2 1 Somestuff2
1 1 Somestuff8
1 1 Somestuff2
1 0 Somestuff4
2 1 Somestuff3
0 2 Somestuff9
1 1 Somestuff10
1 0 Somestuff9
我想執行下列隨機抽樣,我是卡上。我想從數據框中選擇一些隨機對。我不想隨機選擇一行,例如「11」會出現四次,但我希望有相同的機會選擇數據框中存在的任何對。如果我選擇了「1 1」,那麼我想輸出所有開始「1 1」的行。我想從[(0,0),(1,0),(1,1),(0,2),(2,0))中隨機選擇一些對, (2,1)](這些都是數據中存在的所有對),然後使用這些對從數據框中選擇行。
做到這一點的一種方法是取前兩列,對它們進行排序並執行相當於np.unique
。然後從這個唯一的列表中選擇隨機對,然後使用它們從原始數據框中進行選擇。
有沒有辦法在熊貓身上有效地做到這一點?
你嘗試過什麼嗎?它對你來說執行得太慢嗎? –
@WayneWerner我不知道如何執行我描述的步驟。例如,如何製作前兩列唯一對的列表? – eleanora