【问题标题】:Python keep content with certain format in a string [closed]Python 在字符串中保留特定格式的内容 [关闭]
【发布时间】:2022-12-17 09:01:51
【问题描述】:

我有几个从这样的列表转换而来的字符串:

['2022 年 11 月 - 现在 ?? 2 个月\n2022 年 11 月 - 现在 ?? 2 mo', '2019 年 10 月 - 2022 年 11 月 ?? 3 年 2 个月\n2019 年 10 月 - 2022 年 11 月 ?? 3 岁 2 个月', '加利福尼亚州圣克拉拉\n加利福尼亚州圣克拉拉', '2017 年 3 月至今 ?? 5 岁 10 个月\n2017 年 3 月 - 至今 ?? 5 年 10 个月”,“旧金山湾区\n旧金山湾区”,“2007 年至今?? 16 岁\n2007 年 - 现在 ?? 16 岁', '2019 年 3 月 - 2019 年 10 月 ?? 8 个月\n2019 年 3 月 - 2019 年 10 月 ?? 8个月']

我将这些字符串输出到名为“df1”的数据框中名为“Durations”的列。 我想在此字符串中删除两件事,

  1. 每个“/n”后的内容重复
  2. “旧金山湾区”等地区

    我只想要这样格式的数据:“Mon Year - Mon Year”

    我希望 df1 中“持续时间”列下的所有单元格如下所示:

    ['2022 年 11 月 - 至今'、'2019 年 10 月 - 2022 年 11 月'、'2017 年 3 月 - 至今'、'2007 年至今'、'2019 年 3 月 - 2019 年 10 月']

    我知道 re.sub 函数做类似的事情但不知道怎么做。我感谢任何线索!

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    很难知道这将如何概括,但鉴于您的输入为 l,一个简单的列表理解可以工作:

    out = [x.split(' ??')[0] for x in l if ' - ' in x]
    

    输出:

    ['Nov 2022 - Present',
     'Oct 2019 - Nov 2022',
     'Mar 2017 - Present',
     '2007 - Present',
     'Mar 2019 - Oct 2019']
    

    【讨论】:

      猜你喜欢
      • 2022-12-02
      • 1970-01-01
      • 1970-01-01
      • 2020-11-22
      • 2023-01-06
      • 1970-01-01
      • 2012-10-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多