我有10個數據幀具有相同的行數,並且每個數據幀都有自己的一組唯一列(不在任何數據幀之間共享)。我想簡單地將數據幀串聯起來,使最終的數據幀包含所有數據幀中包含的所有列。最後一個數據幀的第一行將包含第一行的第一行,接着是第二行的第一行,依此類推,直到第十個數據幀。我試過pandas.concat(dataframes,axis = 1),但它最終以某種方式在我的數值數據中創建了NaN值。我通過編寫一個非常緩慢且醜陋的方法來解決這個問題,該方法通過索引增加行數並逐行創建最終數據框。什麼是正確的熊貓方式來做到這一點?連續高效地連接熊貓數據框
0
A
回答
1
假設所有dataframes在列表中df_list
:
df0_index = df_list[0].index # get the first data frame's index
for i in range(1, len(df_list)):
df_list[i] = df_list[i].set_index(df0_index) # reindex all the other dataframes
df_out = pd.concat(df_list, axis=1) # concatenate
1
得到它的工作。只需在調用pandas.concat()時將「ignore_index」設置爲true即可。
pd.concat(df_list, axis=1, ignore_index=True) # returns dataframes correctly.
請注意,重建索引不會出於某種原因。
1
您可以用列表理解這樣做:
pd.concat([df.reset_index(drop=True) for df in df_list], axis = 1)
相關問題
- 1. 如何有效地遍歷連續的熊貓數據幀塊
- 2. 用熊貓系列連接數據框
- 3. 從稀疏數據框填充連續熊貓數據框
- 4. 高效地處理數據庫連接
- 5. 熊貓:標誌連續值
- 6. 大熊貓連續組
- 7. 連續兩列熊貓python3
- 8. 在熊貓數據框中查找連續段
- 9. 熊貓數據框中:如何GROUPBY連續值
- 10. 熊貓:從函數連續寫入csv
- 11. 熊貓的1的連續塊的連接
- 12. 將多個文件連接成熊貓數據框
- 13. 如何在熊貓數據框中執行左外連接?
- 14. 無法連接長度相同的熊貓數據框?
- 15. 連接與日期時間列的熊貓數據框
- 16. 將相應的列連接到數據框熊貓
- 17. 如何在熊貓中「非連接」一個數據框?
- 18. 熊貓DataFrame列連接
- 19. 熊貓的連接性能
- 20. 連接兩個熊貓Dataframes
- 21. 熊貓據幀笛卡兒連接
- 22. 高效的熊貓數據幀插入
- 23. 高效讀寫熊貓數據幀
- 24. 刪除連續前導零熊貓
- 25. 發現連續兩行的熊貓
- 26. 在熊貓中過濾連續索引
- 27. 熊貓 - GROUPBY連續日期時間段
- 28. 以連續值組切片熊貓數據幀
- 29. 獲取熊貓數據幀中的最大連續空行
- 30. 添加新列在大熊貓數據幀下一連續行
這是因爲DataFrames的行數是不同的。你能告訴我DataFrames的形狀嗎? – Wonjin
您需要將所有數據幀重新索引爲相同,然後調用'pd.merge'或'pd.concat'。 –
@Winjin不,因爲我說他們都有相同的行數。 – YungGun