pandas - 如果满足条件,两列的差异
问题描述
为了在指定条件时获取熊猫数据框的两列之间的差异,我目前正在使用以下代码。例如,要获得列A
和B
行之间的差异,其中A > B
:
import pandas as pd
df = pd.DataFrame({'A' : [4,5,6,7], 'B' : [1,2,10,11]}); df
A B
0 4 1
1 5 2
2 6 10
3 7 11
df2 = df.loc[df.A > df.B]
df2.A - df2.B
0 3
1 3
有没有办法“管道”而不是创建df2
上面的临时数据框?
解决方案
在处理大量数据时使用eval
and has的一种方法:high performance
df.loc[df.A > df.B].eval('A - B')
0 3
1 3
dtype: int64
推荐阅读
- file - 在 unix 中删除文件需要什么权限?
- c++ - 完全专用的模板函数是否与常规函数相同?
- c - 指向具有可变数量参数的函数的指针数组
- elasticsearch - 在 Elasticsearch 6.6 和 NEST 6.6 中具有排序和分页变量的 SearchTemplate
- typescript - shims-tsx.d.ts 文件在 Vue-Typescript 项目中的作用是什么?
- powershell - 使用参数列表在服务器上调用远程 .exe
- database - 如何防止多个客户端在 PostgreSQL 中同时运行非原子计算的更新异常?
- version - 使用反应原生 iOS / android 应用程序统一 appcenter 上的内部版本号
- c++ - 为什么数组不是通过引用传递的?
- c# - 以下代码退出后如何关闭文件