通过使用另一列的值获取一列的值

时间:2018-06-25 12:20:12

标签: python pandas dataframe

          user     min     max
1         Tom        1       5
2         Sam        4       6

我得到了这个数据框,现在我知道用户是Sam,我想获得其“最小”值。这样(用户是唯一的):

df[Sam,'min'] = 4

我该怎么做?

2 个答案:

答案 0 :(得分:2)

首先按set_index按列userid创建索引,然后按loc选择索引:

df = df.set_index('user')
print (df.index)
Index(['Tom', 'Sam'], dtype='object', name='user')

a = df.loc['Sam','min']
print (a)
4

或将boolean indexingloc一起使用,但由于必须获取Series,因此请再次选择:

a = df.loc[df['user'] == 'Sam','min'].values[0]

答案 1 :(得分:1)

使用set_index + pd.DataFrame.at访问标量:

res = df.set_index('user').at['Sam', 'min']

print(res)
4