我收到一个.csv文件,并要求使用pandas回答一些问题。 在其中一个问题中,它要求找到三个最流行的名字。但要求在那里打印名字后跟姓氏。我知道如何做到这一点,但我怎么能在名字和姓氏之间留一个空格,例如'约翰史密斯'约翰史密斯'。
我的代码是:
works['ConductorName'] = works['ConductorName'].str.replace(r'(.+),\s+(.+)',r'\2\1')
results = works['ConductorName'].value_counts()
display(results.to_frame().head(3))
这样打印数据:
AlanGilbert 695
JoshuaGersen 45
RobFisher 35
答案 0 :(得分:3)
试试这个:
来源DF:
In [38]: df
Out[38]:
ConductorName val
0 AlanGilbert 695
1 JoshuaGersen 45
2 RobFisher 35
解决方案:
In [39]: df.ConductorName.str.replace(r'([a-z])([A-Z])', r'\1 \2')
Out[39]:
0 Alan Gilbert
1 Joshua Gersen
2 Rob Fisher
Name: ConductorName, dtype: object
但您可以按如下方式更改代码:
works['ConductorName'] = works['ConductorName'].str.replace(r'(.+),\s+(.+)',r'\2 \1')
# _^_