我正在尝试在 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/