我正在尝试以下:df ['best_rate'] = df.loc [ df [[ 'a', 'b', 'c', ..... , 'z' ]] ].min(axis=1)其中a, b, c,...,z是df.现在,由于之前的一些陈述,当我试图找到最小值时,其中一些列将不可用。基本上这些列会被删除,因为我会应用 dropna()。但是哪个列被删除取决于数据集。现在,我要在一些列被删除后找到最小值。我不知道哪些列已被删除。但是我知道在删除列之前,新的一组列将是列的子集。那么如何在尝试找到最小值时忽略那些已删除的列?如果我使用:df ['best_rate'] = df.loc [ df [[ 'a', 'b', 'c', ..... , 'z' ]] ].min(axis=1)我得到错误: column 'x' not in index
1 回答

扬帆大鱼
TA贡献1799条经验 获得超9个赞
这样的事情应该工作:
df['best_rate'] = df.loc[:, set([ 'a', 'b', 'c', ..... , 'z' ]) & set(df.columns)].min(axis=1)
它使用 set intersect 来查找预定义列表和现有列之间的公共列。
添加回答
举报
0/150
提交
取消