如何在 Python 中无循环地连接 List 中的两个数据帧(具有相同的名称和相同的列)?
How to Concatenate two dataframes(with same names and same columns) from List without loop in Python?
df_list1=[A,B,C]
df_list2=[A,B,C]
我想使用 pandas concat 将 A(df_list1) 连接到 A(df_list2),将 B 连接到 B,就像没有循环一样。这里 A、B、C 是数据帧。我试过迭代其中一个列表,一次只连接每个列表中的一个数据帧。
i=0
for df in df_list1:
l=[df,df_list2[i]]
df=pd.concat(l)
i=i+1
因为我有一定的执行时间要求(基本上我需要减少时间),有人可以帮助我不循环地做这个吗?
我不认为你可以通过使用循环,但是你可能对 zip
函数感兴趣,它将各个列表的元素匹配为你遍历它们。
df_list1=[A,B,C]
df_list2=[A,B,C]
concat_list = []
for x, y in zip(df_list1, df_list2):
concat_list.append(pd.concat([x, y]))
编辑:
实际上,您可以使用 map
:
concat_list = list(map(lambda x: pd.concat([x[0], x[1]), zip(df_list1, df_list2)))
df_list1=[A,B,C]
df_list2=[A,B,C]
我想使用 pandas concat 将 A(df_list1) 连接到 A(df_list2),将 B 连接到 B,就像没有循环一样。这里 A、B、C 是数据帧。我试过迭代其中一个列表,一次只连接每个列表中的一个数据帧。
i=0
for df in df_list1:
l=[df,df_list2[i]]
df=pd.concat(l)
i=i+1
因为我有一定的执行时间要求(基本上我需要减少时间),有人可以帮助我不循环地做这个吗?
我不认为你可以通过使用循环,但是你可能对 zip
函数感兴趣,它将各个列表的元素匹配为你遍历它们。
df_list1=[A,B,C]
df_list2=[A,B,C]
concat_list = []
for x, y in zip(df_list1, df_list2):
concat_list.append(pd.concat([x, y]))
编辑:
实际上,您可以使用 map
:
concat_list = list(map(lambda x: pd.concat([x[0], x[1]), zip(df_list1, df_list2)))