熊猫 - 比较 N 列和输出最大值(相等列)

时间:2021-02-25 16:02:27

标签: python pandas

好的 - 我不能完全通过这个方法来使用 pandas-foo。

对于相同的数据,我有 N 个(为此假设有 4 个)数据源,我想知道每行具有相同值的数据源的最大数量以及该值。

因此示例输入将是:

source_1 source_2 source_3 source_4
100      100      98       100

并且我想向我的数据框中添加两列,max_sources = 3max_value = 100

我可以用一个很好的老式哈希映射来做到这一点,但我认为必须有一种方法可以用 Pandas 实现它 - equalscompare 是 1:1,但总体思路是正确的。< /p>

1 个答案:

答案 0 :(得分:1)

试试:

# identify your sources
source_cols = ['source1', 'source2', 'source3', 'source4']

max_vals = df[source_cols].max(1)

df['max_sources'] = df[source_cols].eq(max_vals, axis=0).sum(1)
df['max_value'] = max_vals
相关问题