文章目录

  • 前言
  • 代码过程
  • 总结

前言

可以使用交叉表和透视表,来直观的看出两个变量的数值关系。本文以某一段时间的股票数据为例,创建星期几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交叉表与透视表相关推荐

  1. 利用python进行股票技术分析--以茅台为例

    """ 利用python进行股票技术分析–以茅台为例 通过下述策略对利用python进行股票技术分析,可以举一反三,并且能够实现复杂的技术分析策略,同时可以同python ...

  2. Neo4j入门实战,以三国英雄关系为例入门Neo4j知识图谱

    Neo4j入门实战,以三国英雄关系为例入门Neo4j知识图谱 前言 一.Neo4J简介 对比关系型数据库: 对比其他NoSQL数据库 二.Neo4J下载安装 方法1:安装Neo4j Community ...

  3. mysql 建表覆盖原先表_mysql表与表之间建关系

    一对多 定义一张部门员工表 id name gender dep_name dep_desc 1 yzy male 教学部 教书育人 2 yolo male 外交部 形象大使 3 zmm female ...

  4. php创建多个数据表,PHP-无法在数据透视表中创建多个多对多关系

    我正在尝试在Laravel 5中创建一个应用程序,该程序可以跟踪患者的体检,以便创建患者历史记录,我使用Eloquent作为模型抽象建议. 为此,我使用laravel迁移创建了三个表和一个枢轴表,如下 ...

  5. 数据表(中间表)的设计:多对多关系

    中间表-多对多关系的转化: 在表的使用中,经常存在多对多的关系,以订单和商品为例,一个订单对应多个商品,一个商品也对应多个订单,此时把E-R图(E-R图也称实体-联系图(Entity Relation ...

  6. mysql关系表控制_mysql表关系

    一.表的详细操作 1.修改表名 alter table 旧表名 rename 新表名; ​2.修改表的引擎与字符编码 alter table 表名 engine="引擎名" ch ...

  7. iOS单例创建的一点疑惑

    线程安全的单例常用写法, +(AccountManager *)sharedManager{static AccountManager *defaultManager = nil;disptch_on ...

  8. 公司 表名规则 TN基础表 TR关系表 TL定义表

    公司 表名规则  TN基础表  TR关系表  TL定义表

  9. ts包、表、子表、section的关系

    我们经常接触到创建 DEMUX,注册 Filter 过滤数据, 通过回调过滤出 section 数据,然后我们对 section 数据做具体的解析或者其他操作. 我们这里说的 section 就是段的 ...

最新文章

  1. BCH进入广告行业,将会碰撞出什么样的火花
  2. oracle定时器定时删除30天前的数据_Redis-数据淘汰策略持久化方式(RDB/AOF)Redis与Memcached区别...
  3. 天书夜读:WinDbg配置和使用基础
  4. pycharm连接mysql
  5. 开源一些Delphi系统:mp3play
  6. 必要商城MySQL开发规范
  7. html表格统计表,jQuery操作表格(table)的常用方法、技巧汇总
  8. Atitit 风控之道 attilax著 风险控制 1. 融资风险控制 3 1.1. 风险控制基本知识 3 2. 第8 章 项目风险的分类管理 156 4 2.1. 8.1 项目风险分类 156 4
  9. 使用NATAPP内网穿透
  10. python使用pip安装openxml_Word文件的OpenXML解析(以Python3为例)
  11. 求三点共圆求圆心半径及其推导(三角形外心)
  12. 异或鉴相器 matlab 数字鉴相器,采用VHDL设计的全数字锁相环电路设计
  13. Deep Ordinal Regression Network for Monocular Depth Estimation
  14. Win7蓝牙被禁用怎么办?
  15. 俞敏洪:这是一个创业的大时代
  16. c语言程序设计勘误,《程序设计基础教程(C语言)》勘误表
  17. 雄关漫道真如铁, 而今迈步从头越
  18. 红旗linux8.0安装教程,RedHat Linux 红旗9.0安装图解
  19. STM32F7配置时钟的方法(keil)
  20. java tomcat 数据源配置_Java编程:配置tomcat5数据源心得

热门文章

  1. 蓝桥杯第九到十二届C/C++A组省赛填空题集 (很全)
  2. python 使用plt画图,去除图片四周的白边
  3. PyQt5高级界面控件之QTableWidget(四)
  4. CAN通信控制TH-02机器狗电机 (仿MIT cheetah mini电机 )
  5. python入门小程序:霍兰德人格分析
  6. 3P 你需要知道的事
  7. PHP将图片验证码转换成base64格式
  8. oracle 数据字典画报,收藏!Oracle常用数据字典表、视图的总结,都在这里了
  9. Linux定时任务及企业级案例故障模拟
  10. Solr安装、中文分词以及定时更新索引