【问题标题】:Using regular expression to rename column value使用正则表达式重命名列值
【发布时间】:2020-12-07 19:46:34
【问题描述】:

我有一个数据集,其中有一列值,例如:

    df1.iloc[:,0]

    0      data143_2220020_1
    1      data143_2220020_2
    2      data105_2220058_1
    3      data105_2220058_2
    4      data134_2221056_2

我只想要中间值,类似于2220020。我试过以下代码:

     df1.iloc[:,0] = df1.iloc[:,0].str.extract('data.*_(.*)_.*')

但是,它只返回NAN。我还尝试了其他几件事,但它们都不起作用。有人可以帮忙吗?提前非常感谢!

【问题讨论】:

  • df1.iloc[:, 0].str.split('_').str[1] ?

标签: python nsregularexpression


【解决方案1】:

如果数据始终采用该格式,您可以将其拆分为下划线并获取中间值:

df1.iloc[:,0] = df1.iloc[:,0].str.split('_').str[1]

【讨论】:

  • 上面的代码有没有运行过,会报错...检查!!
猜你喜欢
  • 2021-11-04
  • 2018-05-13
  • 2021-08-27
  • 1970-01-01
  • 1970-01-01
  • 2020-11-29
  • 2011-09-14
  • 2020-01-19
  • 1970-01-01
相关资源
最近更新 更多