我是python初学者。我想学习如何根据函数中应用的条件将一个数据帧中的2列(可以更多)信息添加到另一个数据帧中。 例如,我有两个不同的数据帧,例如
Test = {'CP': ['cyp','klm','skp'],
'Amount': [22000,25000,27000],
'Date': ['20-07-20','20-09-20','15-06-20'],
'Pair': ['EUR','USD','AUD'],
'Del':['Y','K','l']}
df1 = pd.DataFrame(Test,columns= ['CP', 'Amount','Date','Pair'])
Test2 = {'ID': ['ABC','DEF','GHO','JKL','HOP'],
'Price': [2000,5000,200,50000,5000],
'Date2': ['21-07-20','21-09-20','14-06-20','24-07-20','24-07-20'],
'ccy': ['EUR','PLN','CHN','EUR','USD']}
df2 = pd.DataFrame(Test2,columns= ['ID', 'Price','Date2','ccy'])
然后,我通过检查df1中的同一对和df2中的同一ccy(如果数量大于1000)以及其他条件来执行操作,并放置一个标志,例如:
df2["FlAG"] = ""
list_ccy_pair = df2['ccy'].values.tolist()
for i in range(len(df1)):
for j in range(len(list_ccy_pair)):
if list_ccy_pair[j] == df1['Pair'][i]:
if df2['Price'][j] > 1000 and df1['Amount'][i] > df2['Price'][j]:
df2['FlAG'][j] = "yes"
当上述条件满足且我有我的标志时,我想将来自对应“Pair”列的第一个数据帧的信息添加到第二个数据帧,并获得重建的df2,如下所示:
Test3 = {'ID': ['ABC','DEF','GHO','JKL','HOP'],
'Price': [2000,5000,200,50000,5000],
'Date2': ['21-07-20','21-09-20','14-06-20','24-07-20','24-07-20'],
'ccy': ['EUR','PLN','CHN','EUR','USD'],
'CP': ['cyp','','','','skp'],
'Date': ['20-07-20','','','','15-06-20']}
df2_new = pd.DataFrame(Test3,columns= ['ID', 'Price','Date','ccy','CP','Date'])
如何将相应的信息从df1附加到df2? 提前谢谢
目前没有回答
相关问题 更多 >
编程相关推荐