【问题标题】:Replace and rearrange string value containing similar pattern of words替换并重新排列包含相似单词模式的字符串值
【发布时间】:2022-01-01 13:37:51
【问题描述】:

我在谷歌合作实验室工作,我有一个如下所示的熊猫数据框

Company name            Address
Meditera, PT            Street 1
Ocean express, PT       Street 2

我想改成下面这样:

Company name            Address
PT Meditera            Street 1
PT Ocean express       Street 2

我现在的做法是使用df['Company name'].str.replace('Meditera, PT','PT Meditera')。数据每天都在增长,要一一替换会非常详尽。数据的格式是一样的,我只需要把公司名称后面的',PT'重新排列到前面。

有什么建议我们可以以更智能的方式做到这一点,这样我就不需要每天手动使用str.replace()

感谢之前

【问题讨论】:

  • 完成@user17242583 我接受了你的回答。我整天坐着只是为了更换公司名称。非常感谢您的帮助。

标签: python pandas dataframe str-replace


【解决方案1】:
df['Company name'] = df['Company name'].str.split(', ').str[::-1].str.join(' ')

输出:

>>> df
       Company name   Address
0       PT Meditera  Street 1
1  PT Ocean express  Street 2

【讨论】:

  • 哇,我先试试。但是你能解释一下为什么我们使用[::-1]吗?对于.str.split() 和 `.str.join()' 我从来没有读过它,但我可以自己尝试用谷歌搜索它
  • 我会为他回答[::-1] 只是颠倒列表的顺序。
  • 是的,@Fendy,rpanai 是对的。假设您有一个列表l = [1,2,3,4,5]。如果你print(l[::-1]),你会得到[5, 4, 3, 2, 1]。阅读更多here :)
  • 我尝试了你的解决方案,它真的很有效,公司名称的所有数据已经​​在正确的单词模式中。谢谢大家。我会将您的评论作为答案投票。
猜你喜欢
  • 2018-03-25
  • 1970-01-01
  • 2020-08-19
  • 1970-01-01
  • 2014-12-17
  • 1970-01-01
  • 2018-01-31
  • 1970-01-01
  • 2021-05-26
相关资源
最近更新 更多