首页 > 解决方案 > 使用系列从数据框中获取值

问题描述

df = pd.DataFrame({'a':['x','y','w','x','y','w','x','y','w','x','y','w'],'b':['m','m','m','f','f','f','m','m','m','f','f','f'],'c':range(1,13)})  
rows = df.loc[:,['a','b']].drop_duplicates()

假设我想获取c特定行的值,例如rows.iloc[0]. 我知道我能做到

>> df.loc[(df.a=='x')&(df.b=='m'),'c']

   [1, 7]

但在我的实际数据框中,我有很多列,我想在 的行上执行此操作rows,这就是为什么我正在寻找一种更动态的方式来执行此操作。

标签: pythonpandas

解决方案


如果您不关心性能,一个方便的解决方案是:

result = df.set_index(['a', 'b']).loc[(<index_value_1>, <index_value_2>)]

如果您需要 c 的值。


推荐阅读