python - 根据另一个列表列表合并数据框列表
问题描述
我有一个数据框列表和一个带有数字的列表列表。
这个想法是我想根据与堆叠在一起的数字列表匹配的索引将数据帧合并在一起。例如合并 df1 & df2 因为 0 & 1。然后合并 df3,df4,df5,df6 因为 2,3,4,5。ETC...
list_dfs=[df1, df2, df3... df50]
list_num= [[0,1], [2,3,4,5], [6], [7,8] ... [125,126,127]]
这就是我所做的,我相信它不是 pythonic 寿。
dfs_list=[]
for i, df in enumerate(list_dfs):
for index,num in enumerate(list_num):
dfs_list.append(pd.merge(dfs[i], dfs[num]))
有什么建议么。
解决方案
你不需要外部for
:
dfs_list=[]
for nums in list_num:
dfs_list.append(pd.concat([dfs[i] for i in nums], join="inner"))
推荐阅读
- indy - 使用 BytesToInt64() 将 TIdBytes 转换为 Integer 的意外结果
- python - 根据另一个列值创建一个 pandas 数据框列
- php - 找不到包 php7.3-gd
- computer-vision - Google colab:RuntimeError:后端 CPU 的预期对象,但为参数 #4 'mat1' 获得了后端 CUDA
- biztalk - BizTalk - 绑定属性 -“useAmbientTransaction” = False
- oracle - 如何在 oracle apex 中取消隐藏页面项目
- sql - Hive 排序数组列相对于同一表中的其他数组列
- tcl - 使用 upvar 从 proc 中提取变量
- angular - 当我尝试制作中间件进行身份验证时发生错误
- laravel - 根据 LARAVEL 中的会话数据将用户重定向到不同的页面