首页 > 解决方案 > 将系列转换为季度数据

问题描述

我有目前看起来像这样的数据:

Index Year Quarter
0     2015   1
1     2015   1
2     2015   2
3     2015   3
4     2015   3
5     2015   3
6     2015   4
.      .     . 
.      .     .
.      .     .  
8010  2016   1
8011  2016   2
8012  2016   2
8013  2016   3
8014  2016   4

有什么方法可以使它看起来像下面的 Time1、Time2 或 Time3 列?三个时间列中的任何一个都可以。提前谢谢了。

Index  Time1   Time2    Time3
0     2015-Q1  2015Q1  2015:Q1
1     2015-Q1  2015Q1  2015:Q1
2     2015-Q2  2015Q2  2015:Q2
3     2015-Q3  2015Q3  2015:Q3
4     2015-Q3  2015Q3  2015:Q3
5     2015-Q3  2015Q3  2015:Q3
6     2015-Q4  2015Q4  2015:Q4
.      .    .    .        .
.      .    .    .        .
.      .    .    .        .
8010  2016-Q1  2016Q1  2016:Q1
8011  2016-Q2  2016Q2  2016:Q2
8012  2016-Q2  2016Q2  2016:Q2
8013  2016-Q3  2016Q3  2016:Q3
8014  2016-Q4  2016Q4  2016:Q4

标签: python-3.xseries

解决方案


也许这就是你正在寻找的:

import pandas as pd
df = pd.DataFrame({'Year': [2015, 2015, 2015, 2016, 2016],
                   'Quarter':[1, 2, 3, 4, 1]})

df['Year'] = df['Year'].astype(str)
df['Quarter'] = df['Quarter'].astype(str)

df['Time1'] = df['Year'] + '-Q' + df['Quarter']
df['Time2'] = df['Year'] + 'Q' + df['Quarter']
df['Time3'] = df['Year'] + ':Q' + df['Quarter']

推荐阅读