一、计算某段时间内的最大值,最小值
例如计算data['s_dq_high'] 在过往的 20 天里的最大值,min_periods = 1 表示的是以 1 为单位
data['rolling_20_highest'] = pd.rolling_max(data['s_dq_high'], 20, min_periods = 1)
2、根据日期,得到此日期前(后)的日期
pd.date_range( end ='2019-09-01',periods=10)
如果只需要工作日,则:
pd.date_range( end ='2019-09-01',periods=10,freq='C') #注意此处的periods=10,表示的是取出的条数是10条
freq参数可选择的范围非常广,不一一列举,在使用的时候参照官方文档
如果想取出某日到某日之间的工作日数据,可以如下写
tt = dfco.loc[dfco.index.isin(pd.Series(pd.date_range(start='20191007',end='20191014',freq='B')))]
或者如果时间不是索引的话,并且只限定结束时间和日期数量,:
df.loc[df['date'].isin(pd.Series(pd.date_range(periods=5, end='20191018',freq='B')))][['date','f_info_windcode','f_nav_unit']]
取出从20191007到20191014期间工作日数据
DataFrame中二级索引时,访问一级索引的index时,采用
dt.index.levels[0] # 其中0就表示访问一级index,1 表示二级index,返回的类型是一个list
统计某一个枚举值的个数
from collections import Counter Counter(list(centertradestr['new_cols']))