以股票weekday和涨幅关系为例创建dataframe交叉表与透视表
文章目录
- 前言
- 代码过程
- 总结
前言
可以使用交叉表和透视表,来直观的看出两个变量的数值关系。本文以某一段时间的股票数据为例,创建星期几weekday和股票涨幅交叉表与透视表来直观看两个特征之间的关系。
代码过程
import pandas as pd
pd.set_option('display.max_rows',6)#设置dataframe最多显示6行
#读取数据
stock=pd.read_csv('stock_day.csv')
stock
#将表格中的行索引转换成日期,并提取成星期几的形式
date=pd.to_datetime(stock.index)
print("转换之后的date:{}".format(date))
print("date中的year:{}".format(date.year))
print("date中的month:{}".format(date.month))
print("date中的weekday:{}".format(date.weekday))
#将weekday添加到原来的数据表stock中
stock['weekday']=date.weekday
stock#weekday中0-4代表星期1-5
import matplotlib.pyplot as plt
#看看p_change中数据的分布情况
plt.scatter([i for i in range(643)],stock['p_change'])
import numpy as np
#把涨幅p_change中大于0的标记为1,小于0的标记为0
stock["vol"]=np.where(stock['p_change']>0,1,0)
stock
#创建week和Volatility的交叉表
crossTable=pd.crosstab(stock["weekday"],stock["vol"])
crossTable
#按行求和 然后表中的每个数值除以该行的行和,就把交叉表中的数值转化为百分比了
crossTable.div(crossTable.sum(axis=1),axis=0)
#交叉表可视化一下
crossTable.div(crossTable.sum(axis=1),axis=0).plot(kind="bar")
#创建一下透视表
pivotTable=stock.pivot_table(["vol"],index=["weekday"])
pivotTable
pivotTable.plot(kind="bar")#可视化一下
总结
本文通过股票的数据,创建了一下数据的交叉表与透视表。
以股票weekday和涨幅关系为例创建dataframe交叉表与透视表相关推荐
- 利用python进行股票技术分析--以茅台为例
""" 利用python进行股票技术分析–以茅台为例 通过下述策略对利用python进行股票技术分析,可以举一反三,并且能够实现复杂的技术分析策略,同时可以同python ...
- Neo4j入门实战,以三国英雄关系为例入门Neo4j知识图谱
Neo4j入门实战,以三国英雄关系为例入门Neo4j知识图谱 前言 一.Neo4J简介 对比关系型数据库: 对比其他NoSQL数据库 二.Neo4J下载安装 方法1:安装Neo4j Community ...
- mysql 建表覆盖原先表_mysql表与表之间建关系
一对多 定义一张部门员工表 id name gender dep_name dep_desc 1 yzy male 教学部 教书育人 2 yolo male 外交部 形象大使 3 zmm female ...
- php创建多个数据表,PHP-无法在数据透视表中创建多个多对多关系
我正在尝试在Laravel 5中创建一个应用程序,该程序可以跟踪患者的体检,以便创建患者历史记录,我使用Eloquent作为模型抽象建议. 为此,我使用laravel迁移创建了三个表和一个枢轴表,如下 ...
- 数据表(中间表)的设计:多对多关系
中间表-多对多关系的转化: 在表的使用中,经常存在多对多的关系,以订单和商品为例,一个订单对应多个商品,一个商品也对应多个订单,此时把E-R图(E-R图也称实体-联系图(Entity Relation ...
- mysql关系表控制_mysql表关系
一.表的详细操作 1.修改表名 alter table 旧表名 rename 新表名; 2.修改表的引擎与字符编码 alter table 表名 engine="引擎名" ch ...
- iOS单例创建的一点疑惑
线程安全的单例常用写法, +(AccountManager *)sharedManager{static AccountManager *defaultManager = nil;disptch_on ...
- 公司 表名规则 TN基础表 TR关系表 TL定义表
公司 表名规则 TN基础表 TR关系表 TL定义表
- ts包、表、子表、section的关系
我们经常接触到创建 DEMUX,注册 Filter 过滤数据, 通过回调过滤出 section 数据,然后我们对 section 数据做具体的解析或者其他操作. 我们这里说的 section 就是段的 ...
最新文章
- BCH进入广告行业,将会碰撞出什么样的火花
- oracle定时器定时删除30天前的数据_Redis-数据淘汰策略持久化方式(RDB/AOF)Redis与Memcached区别...
- 天书夜读:WinDbg配置和使用基础
- pycharm连接mysql
- 开源一些Delphi系统:mp3play
- 必要商城MySQL开发规范
- html表格统计表,jQuery操作表格(table)的常用方法、技巧汇总
- Atitit 风控之道 attilax著 风险控制 1. 融资风险控制	3 1.1. 风险控制基本知识	3 2. 第8 章 项目风险的分类管理 156	4 2.1. 8.1 项目风险分类 156	4
- 使用NATAPP内网穿透
- python使用pip安装openxml_Word文件的OpenXML解析(以Python3为例)
- 求三点共圆求圆心半径及其推导(三角形外心)
- 异或鉴相器 matlab 数字鉴相器,采用VHDL设计的全数字锁相环电路设计
- Deep Ordinal Regression Network for Monocular Depth Estimation
- Win7蓝牙被禁用怎么办?
- 俞敏洪:这是一个创业的大时代
- c语言程序设计勘误,《程序设计基础教程(C语言)》勘误表
- 雄关漫道真如铁, 而今迈步从头越
- 红旗linux8.0安装教程,RedHat Linux 红旗9.0安装图解
- STM32F7配置时钟的方法(keil)
- java tomcat 数据源配置_Java编程:配置tomcat5数据源心得