如何切换列中的单词?

时间:2017-04-22 11:13:28

标签: python python-3.x pandas

我收到一个.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

1 个答案:

答案 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')
#                                                                              _^_