我有两个dfs列表
List1 = [df1,df2,df3]
List2 = [df4,df5,df6]
我想将List1中的第一个df与列表2中的相应df合并。即df1和df4以及df2和df5,等等。
dfs共享一个公共列'Col1'。我尝试了以下代码
NewList = []
for i in len(List1),len(List2):
NewList[i]=pd.merge(List1[i],List2[i],on='Col1')
我收到错误“列表索引超出范围”。
我意识到这似乎是一个普遍的问题,但是我无法将在Stack上找到的任何解决方案应用于我的特定问题。
在此先感谢您的帮助
答案 0 :(得分:1)
使用
class Fruit implements Comparable<Fruit> {
private final int weigth;
public Fruit(int weight) {
this.weigth = weight;
}
@Override
public int compareTo(Fruit other) {
return Integer.compare(this.weigth, other.weigth);
}
public int getWeigth() {
return this.weigth;
}
}
class Apple extends Fruit {
public Apple(int weight) {
super(weight);
}
}
class Orange extends Fruit {
public Orange(int weight) {
super(weight);
}
}
答案 1 :(得分:0)
要遍历两个列表并进行比较或对它们进行元素到元素的操作,可以使用zip()
函数。
import pandas as pd
List1 = [df1,df2,df3]
List2 = [df4,df5,df6]
NewList = []
for dfa, dfb in zip(List1, List2):
# Merges df1, df4; df2, df5; df3, df6
mdf = dfa.merge(dfb, on = 'Col1')
NewList.append(mdf)