如何在熊猫数据框中使用正则表达式过滤字符串

时间:2018-07-17 18:04:23

标签: python pandas

import pandas as pd
data = [['Alex',10],['Bob',12],['Clarke',13] ['Adam', 14]]
df = pd.DataFrame(data,columns=['Name','Age'])
print(df)

    Name    Age
0   Alex    10
1   Bob     12
2   Clarke  13
3   Adam    14

我只想获取以A开头的名称。我尝试了以下代码     mask = df ['Name']。str.contains(“ A *”)

 mask
 0    True
 1    True
 2    True
 Name: Name, dtype: bool 

 df = df[mask]

   Name    Age

0    Alex    10
1   Bob      12
2   Clarke   13

但是我想得到结果        名字年龄

0    Alex    10

1 个答案:

答案 0 :(得分:3)

使用此:

mask = df['Name'].str.startswith("A")

例如:

In [52]: df
Out[52]: 
     Name  Age
0    Alex   10
1     Bob   12
2  Clarke   13
3    Adam   14

In [53]: mask = df['Name'].str.startswith("A")

In [54]: df[mask]
Out[54]: 
   Name  Age
0  Alex   10
3  Adam   14

对于正则表达式匹配,如@swiftg所示:

mask = df['Name'].str.match("^A.*")