2013-01-09 36 views
1

我想創建一個由兩個csv列的所有成對組合組成的數據集。我使用的是Stata,但它只允許有2,147,483,647個觀察值。我對python不是很瞭解。我可以用Python做到嗎,最好是有效的嗎?我可以做一些循環,但我想這將會持續下去。Python - 兩個數據集的所有成對組合有效

下面是一個例子:我a.csv像這樣(作爲列:):我已經b.csv像這樣(作爲列:) 一個 b Ç 我想這是輸出: 1, 1,b 1,C 2, 2,b 2,C ... a.csv和b.csv每個都有約700萬條記錄。 有幫助嗎? 謝謝!

編輯:這也將是非常有用的,如果我可以做一個「組內」成對。想象一下,a.csv和b.csv都有另一列,比如性別。我想要做所有的男性和女性成對的配對(當然,它要複雜得多,屬性數據超過100個類別)。

+2

你真的想要輸出有*所有可能的對嗎?如果每700萬行出現7百萬次(每行一行),那麼你的輸出將有49萬億行。 –

+0

我知道這很奇怪。但是我需要在700萬個節點中創建一個完整的圖(社交網絡),然後根據一些標準刪除大部分記錄。如果我可以成對地進行「組內」,那也是非常有用的。想象一下,a.csv和b.csv都有另一列,比如性別。我想要做所有的男性和女性成對的配對(當然,它要複雜得多,屬性數據超過100個類別)。 –

+0

爲此,請使用[圖形數據庫](http://en.wikipedia.org/wiki/Graph_database)。 –

回答

0

Python擅長這些東西。 如果兩個csv文件非常大,python提供了它的迭代。

for line1 in open('really_big_file.csv'): 
    for line2 in open('really_big_file.csv'): 
     combine(line1, line2) 

Python會發送每行數據並釋放它,它是自動的。

相關問題