1
我有3個數據幀包括來自同一組的信息,現在我試圖concate
這些數據框由他們的組,作爲組名,但因爲df1
包含的索引不是唯一的,因此我無法使用concate
這些索引。有什麼辦法可以繞過嗎?繞過熊貓鏈接錯誤「Reindexing只適用於唯一有價值的索引對象」
樣品輸入DF的:
df1:
group A B
cat 1 0
cat 2 7
cat 5 5
dog 0.4 1
dog 2 4
dog 8 7
seal 7 5
seal 1 8
seal 7 9
df2:
group C D
cat 1 3
seal 0 5
dog 3 4
df3:
group E F
cat 1 5
dog 0 3
seal 5 9
想。OUPUTS:
group A B C D E F
cat 1 0 1 3 1 5
cat 2 7 1 3 1 5
cat 5 5 1 3 1 5
dog 0.4 1 3 4 0 3
dog 2 4 3 4 0 3
dog 8 7 3 4 0 3
seal 7 5 0 5 5 9
seal 1 8 0 5 5 9
seal 7 9 0 5 5 9
我的代碼:
df1 = pd.read(file).set_index('group')
df2 = pd.read(file).set_index('group')
df3 = pd.read(file).set_index('group')
all_data = pd.concate(df1, df2, df3, axis = 1).reset_index()
錯誤:
pandas.core.indexes.base.InvalidIndexError: Reindexing only valid with uniquely valued Index objects
謝謝!
的感謝!對於少量數據幀來說,這是一個很好的方法。但是,如果大量的數據幀並且可能需要'concate'和'join'多次,你認爲有什麼方法可以同時「拼接」在一起,並繞過這個「唯一值」錯誤嗎?謝謝!! – Kay
我認爲'concat'可以完美地處理多個數據框,並且如果需要多個連接,可以使用[merge](how ='left')'[this]類似的方法(https://stackoverflow.com/a/30512931/2901002 )回答。 – jezrael
thx,這個帖子很有幫助!我實際上更喜歡'merge',因爲'join'似乎在同一個索引位置上具有共同值的要求。到目前爲止,我沒有看到'merge'和'join'之間的區別......謝謝! – Kay