python - 比较两个数据框列以添加具有结果的新列
问题描述
将其用作演示数据集:
a = [['11', '2'], ['15', '70'], ['8', '5']]
df = pd.DataFrame(a, columns=['Person','one', 'two'])
Out[8]:
Person one two
0 Jim 10 1.2
1 John 15 70
2 Bob 8 5
我想创建某种逻辑计算来仅比较列的one和two,比较它们并输出一个带有结果的新列
像这样的计算如果第一列>第二列放 1 否则 0
期望的输出:
Out[8]:
Person one two Results
0 Jim 10 1.2 1
1 John 15 70 0
2 Bob 8 5 1
解决方案
利用:
df['Results'] = df['one'].gt(df['two']).astype(int)
或者:
df['Results'] = (df['one'] > df['two']).astype(int)
编辑:
利用:
df['Results'] = np.where(df['one'] > df['two'], 'Higher', 'Lower')
推荐阅读
- javascript - 如何在客户端使用 ajax $.post 向 Mongodb 插入数据?
- android-studio - 如何以最少的代码在单个活动/片段中添加带有搜索栏的多个音频
- php - PHP cURL 登录并循环访问停留在第一个 URL 上的 URL
- java - 通过遍历 MultiMap java 创建 DAG
- python - 使用 scipy 在 python 中进行快速傅立叶变换
- javascript - 如何清理导入Nodejs Mongodb socket io
- c# - 如何将 API 响应中的另一个模型列表关联到模型?
- go - 不同的 wg.Done() 导致 WaitGroup 在前一个 Wait 返回之前被重用
- java - Spring webflux中的异常处理
- visual-studio-code - VS Code Remote SSH 不适用于具有双因素授权的服务器