我有两个数据框,如下所示。我想在数据框df2
中添加一列。使用df2['date']
和df2['ranking']
数字选择数据帧df
中的值,例如df2
行中零日期为20130101,排名为3,选择数据帧{中的第三大数字第零行中的{1}}(它们具有相同的日期)并返回0.24。如何实现我最后添加的最后一个数据帧输出?
df
答案 0 :(得分:0)
def rank_output(row):
row_sorted = sorted(row[['part1', 'part2', 'part3', 'part4']], reverse=True)
return row_sorted[int(row['ranking']) - 1]
df['ranking'] = df2['ranking']
df['output'] = df[['part1', 'part2', 'part3', 'part4', 'ranking']].apply(rank_output, axis=1)
df = df[['date', 'output', 'ranking']]
这应该是您想要的。