我有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