【问题标题】:Pandas slicing strings: keep all characters up to the second full stop and create new column to hold the new valuePandas 切片字符串:将所有字符保持到第二个句号并创建新列以保存新值
【发布时间】:2021-07-28 13:23:02
【问题描述】:

我需要对特定列中的字符串进行切片,并在其中创建一个包含切片的新列。 即现有的 col A: 'CODE.45.6787' 用于创建 col B: 'CODE.45' 谢谢!

【问题讨论】:

  • A列的值是否总是相同的格式?如果是这样,您可以使用:df['new_col'] = df.A.str[:7].

标签: python pandas string slice


【解决方案1】:

df["B"] = df["A"].str.rsplit(".", 1).str[0]
print(df)

              A        B
0  CODE.45.6787  CODE.45

【讨论】:

    【解决方案2】:

    一般来说,我不会假设您的字符串都只有 2 个句号。因此,我不会从右侧拆分您的字符串,而是会继续从左侧拆分字符串。为此,我们可以这样做:

    df['B'] = df['A'].str.split('.').str[0:2].str.join('.')
    

    演示

    df = pd.DataFrame({'A': ['CODE.45.6787', 'CODE.12.3456.78']})
    
    df['B'] = df['A'].str.split('.').str[0:2].str.join('.')
    
    
    print(df)
    
                     A        B
    0     CODE.45.6787  CODE.45
    1  CODE.12.3456.78  CODE.12
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-09
      • 2020-12-27
      • 2018-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多