如下,一些学生的考试成绩,我需要根据他们的名字来判断他们的性别, 然后存在一个新列里头。
在我实际的工作中,“通过名字来判断性别”这件事我必须要用正则表达式来完成。
那该怎么整呢?很简单
import pandas as pd
df = pd.read_csv(r'C:\test\a.csv')
df['sexual'] = None # init the sex column
df.loc[df['name'].str.contains('ary'), 'sexual'] = 'female' # look at here!!
print(df)
关键就在 df.loc[df['name'].str.contains('ary'), 'sexual'] = 'female' 这一句。外层的df.loc是filter行用的,在这里有更详细的例子。那么如何filter出我想要的行,也就是上面例子中把是女孩子的mary,通过正则表达式‘ary’找出来呢?