Pandas crosstab()和div()函数的使用

本文介绍Pandas crosstab()和div()函数的用法。从Tushare获取股票的收盘价数据,计算每日收益率,接着判断每周各天涨跌的概率。

从Tushare中获取股票的收盘价,并做各种数据整理。

import numpy as np
import pandas as pd
import tushare as ts
pro=ts.pro_api()

df = pro.daily(ts_code='000725.SZ', start_date='20200813', end_date='20210813')
df=df[['trade_date','close']]
df['trade_date']=pd.to_datetime(df['trade_date'])
df=df.set_index('trade_date')
df=df.sort_index()
df['ret']=df.close.pct_change()
df=df.dropna()
df['positive']=np.where(df.ret>0,1,0)
df['week_day']=df.index.weekday
df

使用pd.crosstab构建一个交叉表,行使用week_day,列使用positive。函数会自动生成以date_week为分组,对positive的两个取值分别计数的表格。

xt=pd.crosstab(df.week_day,df.positive)
xt

DataFrame.div()函数其实是除法运算,表格的每个数据是被除数,第一个参数是除数,第二个参数是计算方向。

xt_pct=xt.div(xt.sum(1),0)
xt_pct

赞(1)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权,转载请注明出处。
文章名称:《Pandas crosstab()和div()函数的使用》
文章来自:泰恩数据
文章链接:https://tyne.cc/663.html
本站资源仅供个人学习使用,请勿用于商业用途。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址