【问题标题】:How to get multiple values from Pandas dataframe whose indices and columns are known? [duplicate]如何从已知索引和列的 Pandas 数据框中获取多个值? [复制]
【发布时间】:2019-01-01 16:24:01
【问题描述】:

我有一个看起来像这样的 Pandas 数据框

>> pd.DataFrame({'A': [1,2,3], 'B':[4,5,6], 'C':[7,8,9]})

     A   B   C  
0    1   4   7  
1    2   5   8  
2    3   6   9  

我想选择与索引列对 (0,'A'),(2,'B'),(1,'C') 对应的值 1,6,8。如何同时选择它们?

【问题讨论】:

  • 下次你应该更彻底地“查找”这个问题;)

标签: python pandas dataframe indexing


【解决方案1】:

使用lookup:

import pandas as pd

df = pd.DataFrame({'A': [1,2,3], 'B':[4,5,6], 'C':[7,8,9]})

rows, cols = zip(*[(0,'A'),(2,'B'),(1,'C')])

result = df.lookup(rows, cols)
print(result)

输出

[1 6 8]

【讨论】:

  • 可能主要是口味问题...但在这种情况下,我发现保留 idx = [(0,'A'),(2,'B'),(1,'C')] 或其他东西很有用,以便以后可以引用或变异并重新使用,然后只需将其内联以进行查找,然后您就可以进行一般操作,result = df.lookup(*zip(*idx))...
猜你喜欢
  • 2022-06-29
  • 1970-01-01
  • 2013-05-17
  • 2021-08-13
  • 2021-12-06
  • 1970-01-01
  • 1970-01-01
  • 2019-03-10
  • 2016-12-22
相关资源
最近更新 更多