SRJ*_*ing 4 python dataframe pandas
我有一个数据框(我们称之为 df),看起来有点像这样。
Offer | Country | Type | Cancelled
------|---------|------|----------
111 | UK | A | N
222 | UK | A | Y
333 | UK | B | N
444 | UK | C | N
555 | UK | D | N
666 | UK | E | N
777 | ROI | A | N
Run Code Online (Sandbox Code Playgroud)
我想要一个变量来保存属于 A、B 或 C 类型且尚未取消的所有英国优惠的计数。因此,对于上面的数据,变量将设置为 3(即报价 111、333 和 444)。请问有人知道该怎么做吗?
尝试:
x = df.loc[
df.Country.eq("UK") & df.Type.isin(["A", "B", "C"]) & df.Cancelled.eq("N")
]
print(len(x))
Run Code Online (Sandbox Code Playgroud)
印刷:
3
Run Code Online (Sandbox Code Playgroud)
一步步:
3
Run Code Online (Sandbox Code Playgroud)
.loc与以下一起使用mask:mask = (
df.Country.eq("UK") & df.Type.isin(["A", "B", "C"]) &
df.Cancelled.eq("N")
)
0 True
1 False
2 True
3 True
4 False
5 False
dtype: bool
Run Code Online (Sandbox Code Playgroud)
len():x = df.loc[mask]
Offer Country Type Cancelled
0 111 UK A N
2 333 UK B N
3 444 UK C N
Run Code Online (Sandbox Code Playgroud)
或者:对掩码求和:
print(len(x))
Run Code Online (Sandbox Code Playgroud)
印刷:
3
Run Code Online (Sandbox Code Playgroud)