需要将季度和年份分成不同的列
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
答案 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.assign
与str.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)
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