python - 将某一列中的行值与其他列中的值进行比较

标签 python pandas for-loop dataframe indexing

使用 Pandas

我试图确定某一行中的值是否大于同一行中所有其他列中的值。 为此,我循环遍历数据帧的行并使用“all”函数来比较其他列中的值;但似乎这会引发错误“字符串索引必须是整数”

看起来这应该可行:这种方法有什么问题?

for row in dataframe:
    if all (i < row['col1'] for i in [row['col2'], row['col3'], row['col4'], row['col5']]):
        row['newcol'] = 'value'

最佳答案

构建一个掩码并将其传递给loc:

df.loc[df['col1'] > df.loc[:, 'col2':'col5'].max(axis=1), 'newcol'] = 'newvalue'

关于python - 将某一列中的行值与其他列中的值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49619868/

相关文章:

python - 如何找到被分水岭分割的区域的中心点?

python - 字符串模式改变

python-3.x - 计算一个数据帧中某一列中单词在另一个数据帧中的唯一出现次数

javascript - 如何将文件内容转换成字符串?

javascript - 哪个for循环在javascript中更有效?

javascript - 对于..循环?

python - 如何在python中创建特定类型的数组

Python如何从pysftp连接打开din文件

python - 创建名称中带有句点的 Pandas 系列

python - Django南迁外键