[我想用Python在set1中找到x [0]和set2中x [0]的匹配数组,例如set 1中的[4012642, 0.10869565]
和set 2中的[4012642, 2]
。将它们组合成1个数组并用set2 [1]除以set1 [1],因此它将变为[4012642, (2/0.10869565)]
或[4012642, 18.40]
。我想对set1和set2中的每个变量执行此操作,然后放入新数组中。非常感谢您的帮助,对不起,我的措辞很混乱。
set1 = [[4012640, 0.014925373], [4012642, 0.10869565], [4012644, 0.40298506], [4012646, 0.04477612], [4012616, 0.6264330499999999], [4012618, 1.128477924], [4012620, 0], [4012622, 0.12820514], [4012624, 0.16417910000000002], [4013328, 0.16666667], [4012626, 0.149253743], [4012658, 0], [4012628, 0.41791046], [4012630, 0.28493894000000003], [4012632, 1.999999953], [4012634, 0.08955224], [4012636, 0], [4012638, 0]]
set2 = [[4012640, 2], [4012642, 2], [4012644, 2], [4012646, 1], [4012616, 5], [4012618, 8], [4012620, 1], [4012622, 2], [4012624, 5], [4013328, 2], [4012626, 6], [4012658, 1], [4012628, 4], [4012630, 8], [4012632, 4], [4012634, 4], [4012636, 1], [4012638, 1]]
就我个人而言,我更喜欢使用数据框来处理这种“加入”问题
# build two dataframe from set1 and set2
df1=pd.DataFrame(columns=['x0','x1'])
df1['x0']=[x[0] for x in set1]
df1['x1']=[x[1] for x in set1]
df2=pd.DataFrame(columns=['x0','x2'])
df2['x0']=[x[0] for x in set2]
df2['x2']=[x[1] for x in set2]
然后在熊猫中调用合并方法以按列'x0'匹配两个数据帧
# Merge two dataframe on 'x0'
df=pd.merge(df1,df2,on=['x0'],how='left')
# Calculate a new columnn by 'x2'/'x1'
df['values']=df['x2']/df['x1']
结果:
x0 x1 x2 values
0 4012640 0.014925 2 134.000001
1 4012642 0.108696 2 18.400000