替换pandas datafram中的部分列名

2024-10-03 19:23:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个dataframe,其中的列以2000-01、2000-02、2000-03等格式命名,我想用季度替换月份:

## q1 = -01,-02,-03
## q2 = -04, -05, -06
## q3 = -07, -08, -09
## q4 = -10, -11, -12    

期望的结果是每个月2000q1格式的列名。 这是我所做的。这导致了预期的产出,但似乎在整个12个月内都很乏味。有人知道更有效的方法吗?在

^{pr2}$

。。。等等

谢谢, 去死吧!在


Tags: 方法dataframe格式命名月份季度q3q2
1条回答
网友
1楼 · 发布于 2024-10-03 19:23:09

以列名开头,如下所示:

df.columns
# Index([u'2000-01', u'2000-02', u'2000-03', u'2000-04', u'2000-05', u'2000-06',
#        u'2000-07', u'2000-08', u'2000-09', u'2000-10', u'2000-11', u'2000-12'],
#       dtype='object')

您可以这样做(将列名拆分为year和month,并通过模除法将月份转换为季度:

^{pr2}$

或其他选择:

df.columns = pd.to_datetime(df.columns).to_period("Q")

df.columns
# PeriodIndex(['2000Q1', '2000Q1', '2000Q1', '2000Q2', '2000Q2', '2000Q2',
#              '2000Q3', '2000Q3', '2000Q3', '2000Q4', '2000Q4', '2000Q4'],
#             dtype='period[Q-DEC]', freq='Q-DEC')

相关问题 更多 >