Given this sample data:
temp |
---|
a. b |
a b |
a. b. c |
ab.c |
I only want to keep rows in column temp
that has only one period, so the above data would become:
temp |
---|
a. b |
ab.c |
Is there a way to do this with a lambda function, preferably?
CodePudding user response:
You can try this:
df.loc[df['temp'].str.count(r'\.').eq(1)]
temp
0 a. b
3 ab.c
CodePudding user response:
df[df.temp.str.count("\.") == 1]
Note that Series.str.count
expects a regex. So the .
needs to be escaped, otherwise you will get the length of the strings.
CodePudding user response:
We can use apply
with the lambda function.
filt = df["temp"].apply(lambda x: x.count('.') == 1)
print(df[filt])