python使用等级号在两个数据帧之间选择值

时间:2018-09-12 08:14:14

标签: python pandas dataframe

我有两个数据框,如下所示。我想在数据框df2中添加一列。使用df2['date']df2['ranking']数字选择数据帧df中的值,例如df2行中零日期为20130101,排名为3,选择数据帧{中的第三大数字第零行中的{1}}(它们具有相同的日期)并返回0.24。如何实现我最后添加的最后一个数据帧输出?

df

1 个答案:

答案 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']]

这应该是您想要的。