python - 遍历列以将每个列与 Python 中的特定列进行比较

标签 python loops pandas

我正在尝试在 python 中使用 pandas 来解决这个问题。我有一个包含近 1000 列的数据框。对于每一列,我想为数学运算返回一个 bool 值 - 特别是 Column A - Column n => 0。

"ID" "Column A" "Column B"  "Column C"  "Column D"
"A"  100         200         300         50
"B"  75          20          74          500

假设 Column A 是我想用于比较的行。我希望结果是一个如下所示的数据框:

"ID" "Column A" "Column B"  "Column C"  "Column D"
"A"  100         False       False       True
"B"  75          True        True        False

感谢您的帮助。

最佳答案

您可以应用 lambda 函数从目标列中减去每个列系列,然后测试结果是否大于或等于零 (ge(0) ).

d = {'Column A': {'A': 100, 'B': 75},
     'Column B': {'A': 200, 'B': 20},
     'Column C': {'A': 300, 'B': 74},
     'Column D': {'A': 50, 'B': 500}}
df = pd.DataFrame(d)

col = "Column A"
other_cols = [c for c in df if c != col]

>>> pd.concat([df[[col]], 
               df[other_cols].apply(lambda series: df[col].sub(series).ge(0))], axis=1)
    Column A Column B Column C Column D
ID                                     
A        100    False    False     True
B         75     True     True    False

关于python - 遍历列以将每个列与 Python 中的特定列进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38599261/

相关文章:

python - 字典的嵌套合并

python - 使用本地时区在 Python 中获取正确的时区偏移量

loops - Rust:迭代 iter() 或向量本身

Python Matplotlib - 具有日期值的 x 轴的平滑绘图线

python - Pandas Dataframe - 从独特的产品中选择

python - 如何将一个 Jupyter notebook 导入另一个

python - 按索引和列名数组对 Pandas 数据框进行切片

Ruby 嵌套 while 循环提前停止

mysql - 在 MYSQL 中,我们可以使用普通 SELECT SQL 而不是使用存储过程来进行循环吗?

python - pd.cut 的最小人口规模