用 Python 编写一个程序来删除序列中的元素,如果它正好包含两个空格
输入-
假设你有一个系列,
0 This is pandas 1 python script 2 pandas series
输出-
并且,删除元素后的结果正好包含两个空格,
1 python script 2 pandas series
解决方案1
定义一个系列。
创建lambda过滤器方法以应用正则表达式来查找不等于2的空格总数,如下所示-
pd.Series(filter(lambda x:len(re.findall(r" ",x))!=2,data))
最后,使用来检查系列的值列表isin()。
解决方案2
定义一个系列。
创建for循环以逐个迭代元素并设置if条件以计算等于2的空格。如果元素匹配,则弹出特定值。它定义如下,
for i,j in data.items(): if(j.count(' ')==2): data.pop(i)
例子
让我们看看下面的实现,以便更好地理解。
import pandas as pd import re l = ["This is pandas","python script","pandas series"] data = pd.Series(l) result = pd.Series(filter(lambda x:len(re.findall(r" ",x))!=2,data)) print(data[data.isin(result)])
输出
1 python script 2 pandas series dtype: object
解决方案3
例子
import pandas as pd l = ["This is pandas","python script","pandas Series"] data = pd.Series(l) for i,j in data.items(): if(j.count(' ')==2): data.pop(i) print(data)
输出
1 python script 2 pandas series dtype: object