如何使用可变列python pandas连续查找最小值

时间:2018-11-08 21:33:45

标签: python pandas

我在下面尝试:

df ['best_rate'] = df.loc [ df [[ 'a', 'b', 'c', ..... , 'z' ]] ].min(axis=1)

其中abc,...,zdf中的列。

现在,由于前面的某些声明,当我尝试查找最小值时,其中某些列将不可用。基本上,这些列会像我应用dropna()一样被删除。但是哪个列会丢失取决于数据集。

现在,在删除某些列后,我将查找最小值。我不知道哪些列已删除。但是我知道在删除列之前,新的一组列将是这些列的子集。那么,在尝试查找最小值时如何忽略那些被删除的列?

如果我使用:

df ['best_rate'] = df.loc [ df [[ 'a', 'b', 'c', ..... , 'z' ]] ].min(axis=1)

我收到错误消息:column 'x' not in index

1 个答案:

答案 0 :(得分:0)

类似的事情应该起作用:

df['best_rate'] = df.loc[:, set([ 'a', 'b', 'c', ..... , 'z' ]) & set(df.columns)].min(axis=1)

它使用set相交来查找预定义列表和现有列之间的公共列。