pandas df.eval()应用

发布时间 2024-01-01 17:23:02作者: myrj
执行表达式df.eval()
df.eval()与之前介绍过的df.query()一样,可以以字符的形式传入表
达式,增加列数据。下面以增加总分为例:
# 传入求总分表达式
df.eval('total = Q1+Q3+Q3+Q4')
'''
name team Q1 Q2 Q3 Q4 total
0 Liver E 89 21 24 64 201
1 Arry C 36 37 37 57 167
2 Ack A 57 60 18 84 177
3 Eorge C 93 96 71 78 313
4 Oah D 65 49 61 86 273
.. ... ... .. .. .. .. ...
95 Gabriel C 48 59 87 74 296
96 Austin7 C 21 31 30 43 124
97 Lincoln4 C 98 93 1 20 120
98 Eli E 11 74 58 91 218
99 Ben E 21 43 41 74 177
[100 rows x 7 columns]
'''
其他常用方法如下:
df['C1'] = df.eval('Q2 + Q3')
df.eval('C2 = Q2 + Q3') # 计算
a = df.Q1.mean()
df.eval("C3 = `Q3`+@a") # 使用变量
df.eval("C3 = Q2 > (`Q3`+@a)") # 加一个布尔值
df.eval('C4 = name + team', inplace=True) # 立即生效