如何分开季度和年份数据

时间:2019-07-29 01:55:10

标签: pandas numpy jupyter-notebook

需要将季度和年份分成不同的列

df.head()

Period
Q1/2012
Q2/2012
Q3/2012
Q4/2012
Q1/2013

希望该列显示为:

Period   Year
Q1       2012 
Q2       2012
Q3       2012
Q4       2012
Q1       2013

3 个答案:

答案 0 :(得分:0)

import pandas as pd
import numpy as np

df
    Period
0   Q1/2012
1   Q2/2012
2   Q3/2012
3   Q4/2012
4   Q1/2013

df['Year'] = df['Period'].str.extract(r'(\w{4})', expand=False)
df['Period'] = df['Period'].str.extract(r'(.\d{1})',expand=False)

df
    Period  Year
0   Q1      2012
1   Q2      2012
2   Q3      2012
3   Q4      2012
4   Q1      2013

答案 1 :(得分:0)

df.assignstr.split一起使用在单行中

df = pd.DataFrame({"data":["Q1/2018","Q1/2018","Q1/2018"]})

final_df = df.assign(Period=lambda x :x['data'].str.split("/").str[0],
                     Year = lambda x :x['data'].str.split("/").str[1])
print(final_df)
      data Period  Year
0  Q1/2018     Q1  2018
1  Q1/2018     Q1  2018
2  Q1/2018     Q1  2018

答案 2 :(得分:0)

使用Series.str.split

df[['Period','Year']] = df['Period'].str.split('/', expand=True)
print (df)
  Period  Year
0     Q1  2012
1     Q2  2012
2     Q3  2012
3     Q4  2012
4     Q1  2013