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])
