【问题标题】:pandas split string and extract upto n index positionpandas 拆分字符串并提取最多 n 个索引位置
【发布时间】:2023-01-31 13:42:39
【问题描述】:

我将如下所示的输入数据存储在数据框列中

active_days_revenue
active_days_rate
total_revenue
gap_days_rate

我想做以下

a) 使用_分隔符拆分字符串

b) 从分隔符中提取n元素

所以,我尝试了以下

df['text'].split('_')[:1]  # but this doesn't work
df['text'].split('_')[0] # this works but returns only the 1st element

我希望我的输出如下所示。而不是仅仅根据0 index position获取项目,我想从0 to 1st index position获取

active_days
active_days
total_revenue
gap_days

【问题讨论】:

    标签: python pandas string list dataframe


    【解决方案1】:

    您可以将 extract 与动态正则表达式一起使用:

    N = 2
    df['out'] = df['text'].str.extract(fr'([^_]+(?:_[^_]+){{,{N-1}}})', expand=False)
    

    输出:

                      text            out
    0  active_days_revenue    active_days
    1     active_days_rate    active_days
    2        total_revenue  total_revenue
    3        gap_days_rate       gap_days
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-16
      • 2012-06-12
      • 1970-01-01
      相关资源
      最近更新 更多