猿问

python - 如何在具有可变列的一行中找到最小值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


拉莫斯之舞
浏览 182回答 1
1回答

扬帆大鱼

这样的事情应该工作:df['best_rate'] = df.loc[:, set([ 'a', 'b', 'c', ..... , 'z' ]) & set(df.columns)].min(axis=1)它使用 set intersect 来查找预定义列表和现有列之间的公共列。
随时随地看视频慕课网APP

相关分类

Python
我要回答