gpt4 book ai didi

python - 从 Pandas Dataframe 中有条件地提取数据

转载 作者:太空宇宙 更新时间:2023-11-04 11:13:35 25 4
gpt4 key购买 nike

我有一个简单的 DataFrame,如下所示:

enter image description here

          Names
0 Alexi Laiho
1 Jari Maenpaa
2 Kirk Hammett
3 Antti Kokko
4 Yngwie Malmsteen
5 Petri Lindroos

我想检索名称中只有 5 个以上元音字母的记录。

为此我做了函数:

def vowcount(sentence=[]):
count=0
vow='aeiouAEIOU'
for i in sentence:
for j in i:
if j in vow:
count+=1
return count

如何使用此函数从 DataFrame 中提取记录?请帮助我了解如何在此 Pandas 系列上使用 df.apply(map()) 函数,以及如何在可能的情况下使用列表理解来获得相同的功能。

最佳答案

我们可以使用一个简单的regex 语句并使用str.lowerstr.count.query :

m = df['Names'].str.lower().str.count(r'[aeiou]')
df = df.query('@m > 5')

或者我们可以使用re.I来忽略大小写:

import re

m = df['Names'].str.count(r'[aeiou]', flags = re.I)
df = df.query('@m > 5')

输出

          Names
0 Alexi Laiho
1 Jari Maenpaa

关于python - 从 Pandas Dataframe 中有条件地提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57577133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com