我需要找到包含字母“ c”并且也是男性的名字的百分比。
我能够单独实现每个目标,但不能同时实现。我对使用python进行编程比较陌生,因此我不确定是否需要运行if语句,或者如何针对这种情况正确运行它。
curl -H "Content-Type: application/json" -XPUT 'https://mydomain/indexname'
^ ^
| |
use PUT add index name
我想知道查找同时包含“ c”和“ male”的内容的方法
答案 0 :(得分:2)
如果需要测试子字符串,请使用Series.str.contains
和&
进行按位AND和百分比使用mean
或计数使用sum
:
dogs = pd.DataFrame({
'Name':['abc','c','sa'],
'Gender':['female','male','female']
})
print (dogs)
Name Gender
0 abc female
1 c male
2 sa female
m1 = dogs['Name'].str.contains('c')
m2 = dogs['Gender'].str.contains('male')
print (m1)
0 True
1 True
2 False
Name: Name, dtype: bool
print (m2)
0 True
1 True
2 True
Name: Gender, dtype: bool
print ((m1 & m2).mean())
0.6666666666666666
print ((m1 & m2).sum())
2
如果需要检查值,请使用Series.eq
或==
:
m1 = dogs['Name'].eq('c')
m2 = dogs['Gender'].eq('male')
m1 = dogs['Name'] == 'c'
m2 = dogs['Gender'] == 'male'
print (m1)
0 False
1 True
2 False
Name: Name, dtype: bool
print (m2)
0 False
1 True
2 False
Name: Gender, dtype: bool
print ((m1 & m2).mean())
0.3333333333333333
print ((m1 & m2).sum())
1