【发布时间】:2019-04-22 06:47:36
【问题描述】:
我有一个 pandas 数据框,其中有一列名为 period 的列具有 3 个不同的标签值,分别表示 2019 年冬季、2020 年冬季和 2021 年冬季,如下所示
我的问题是如何将这种格式替换为 2019 年冬季、2020 年冬季和 2021 年冬季的最终结果?
Period:
Q4 '19+Q1 '20
Q4 '20+Q1 '21
Q4 '21+Q1 '22
Q 表示一年中的一个季度
所以我的方法是: 1)首先是制作新年专栏的正则表达式方法。我在第一个 Q4 之后提取了 '19、'20、'21 年的数字
gas['year'] = gas['Period'].str.extract("([']\d\d)", expand=True)
然后我打算用winter替换包含Q4和Q1的值
gas['Period'].str.contains('Q4')) & (gas['Period'].str.contains('Q1')) = 'winter Gregorian'
但它替换了包含 Q4 和 Q1 的整行
也试过
gas[gas['Period'].str.replace("[Q][4]..\d\d[+][Q][1]", 'winter Gregorian'), regex =False]
我想要的结果是:
Period
winter Gregorian 2019
winter Gregorian 2020
winter Gregorian 2021
但没用,我欢迎任何意见和建议 谢谢
【问题讨论】:
标签: python string pandas replace