首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据帧的指标标注

数据帧的指标标注
EN

Stack Overflow用户
提问于 2017-08-12 14:07:44
回答 2查看 53关注 0票数 1

我试图给数据帧的索引贴上标签。现在,在正常情况下,应该是这样的:

代码语言:javascript
复制
pd.DataFrame(fruits, columns=['Name of Fruit', 'Price'], 
                     index=['Aug. 01, 2017', 'Aug. 02, 2018'])

现在,这些指数只标出一个月的两天。例如,如果我必须用8月1日的A1、8月2日的A2等符号对它们进行一整月或全年的索引.那么,怎样才是最理想的方法呢?

我试着减少劳动强度,不把每一次约会都手工安排好。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-12 16:14:15

试试这个:

代码语言:javascript
复制
index = pd.Series(pd.date_range(start='20170101', periods=99, freq='D')
                    .strftime('%b.%d')) \
          .str.replace(r'(.).*?(\d+)', r'\1\2')

产量:

代码语言:javascript
复制
In [74]: index
Out[74]:
0     J01
1     J02
2     J03
3     J04
4     J05
5     J06
6     J07
7     J08
8     J09
9     J10
     ...
89    M31
90    A01
91    A02
92    A03
93    A04
94    A05
95    A06
96    A07
97    A08
98    A09
Length: 99, dtype: object

解释:

代码语言:javascript
复制
In [5]: pd.date_range(start='20170725', periods=10, freq='D').strftime('%b.%d')
Out[5]:
array(['Jul.25', 'Jul.26', 'Jul.27', 'Jul.28', 'Jul.29', 'Jul.30', 'Jul.31', 'Aug.01', 'Aug.02', 'Aug.03'],
      dtype='<U6')

然后,我们可以替换这些字符串,这样我们将只保留第一个字母和数字(日)在结尾.

票数 2
EN

Stack Overflow用户

发布于 2017-08-12 14:25:34

您可以使用date_range函数。

代码语言:javascript
复制
# One year, daily
pd.date_range(start='20170801', end='20180731', freq='D') 

# Starting from August 1, 2017 - 365 days
pd.date_range(start='20170801', periods=365, freq='D') 

# Ending at July 31, 2018 - 365 days
pd.date_range(end='20180731', periods=365, freq='D') 

这些应该替换您要作为索引传递的列表。例如,pd.DataFrame(index=pd.date_range(start='20170801', end='20180731', freq='D'))

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45651173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档