python - python pandas:比较两列是否相等并产生第三个数据框
问题描述
在将结果与不同数据框中的两列进行比较后,如何在单独的数据框中打印结果。
考虑两个数据框:
df1 = pd.DataFrame({'col1':['audi','cars']})
df2 = pd.DataFrame({'col2':['audi','bike']})
print (df1)
col1
0 audi
1 cars
print (df2)
col2
0 audi
1 bike
现在结果应该在不同的数据框中。
col1 col2 result
0 audi audi no change
1 cars bike changed
解决方案
concat
与 一起使用numpy.where
:
df = pd.concat([df1, df2], axis=1)
df['result'] = np.where(df['col1'] == df['col2'], 'no change', 'changed')
print (df)
col1 col2 result
0 audi audi no change
1 cars bike changed
推荐阅读
- c# - C# Azure 存储队列 - 从队列中读取消息的更有效方式
- reactjs - 为什么站点地图没有被渲染?
- javascript - 在一个html网站上设置多个js幻灯片
- jquery - jQuery 调用一个函数来播放下一个音频文件
- python - 熊猫仅爆炸列非零值
- c# - 左加入多个条件asp.net核心
- angular - 共享的角度模块未登陆 webpack 公共块
- r - 数据框 - R - 闪亮
- docker - 我们可以为在本地系统上的 Docker Swarm 上运行的服务使用 DNS 名称吗?
- google-apps-script - Apps 脚本库获取 V8 运行时的权限问题