Void S
Void S

Reputation: 802

Pandas - Check If First Character Is Special Character

I have a sample dataframe df.

I would like to know if there is a way to return all values that begin w a special character.

I currently have it to only return values with the '@' sign, but would like all special characters. Or at least how to list multiple options using regex

Fruits

Apple
-Orange
$Pear
Cherry
@Grape
df.str.contains(r'^\[@]')]

Upvotes: 1

Views: 505

Answers (2)

wwnde
wwnde

Reputation: 26676

DataFrame

Fruits
0   Apple
1   -Orange
2   $Pear
3   Cherry
4   @Grape
5   _Grape

Check if the first character is alphanumeric

df['Fruits'].str.contains('^\_|[^\w]')

you can then filter if needed

df[df['Fruits'].str.contains('^\_|[^\w]')]

Outcome

Fruits
1  -Orange
2    $Pear
4   @Grape
5   _Grape

Upvotes: 1

Tim Biegeleisen
Tim Biegeleisen

Reputation: 521804

Assuming you define special character as anything which is not alphanumeric, we can try:

df[df["Fruits"].str.contains(r'^[^A-Za-z0-9]')]

Upvotes: 2

Related Questions