【发布时间】:2021-11-30 21:54:44
【问题描述】:
我以下面的数据框为例。我想遍历每个wag 数字并根据其最后一个值仅选择列A 或B。例如,如果我们查看wag == 1 那么A 的最后一个值== 3 而B 的最后一个值== 34 那么我只对A 列感兴趣,因为它的值较小等等通过所有wags。最后,我想要一个如下列表:
foo_list = [[10, 8, 7, 3], [15, 12, 5], [1, 2, 2, 1]]
import pandas as pd
foo = pd.DataFrame({
'wag' : [1, 1, 1, 1, 44, 44, 44, 56, 56, 56, 56],
'A' : [10, 8, 7, 3, 13, 22, 18, 43, 40, 38, 12],
'B' : [55, 48, 37, 34, 15, 12, 5, 1, 2, 2, 1]
})
实际上,不仅可以像我展示的那样比较 2 列,还可以比较多列。并且我一直需要存储在列表列中,并且在其他列中具有最小的最后一个值。我想过for loop,但想不出如何将列相互比较然后选择我想要的。
【问题讨论】:
标签: python pandas loops conditional-statements