Python 双色球数据整理

本文涉及的产品
可视分析地图(DataV-Atlas),3 个项目,100M 存储空间
数据可视化DataV,5个大屏 1个月
简介: Python 双色球数据整理

数据整理



import seaborn as sns
import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号
from datetime import datetime
plt.figure(figsize=(16,10))
import pyecharts.options as opts
from pyecharts.charts import Line
from pyecharts.faker import Faker
from pyecharts.charts import Bar
import os
from pyecharts.options.global_options import ThemeType
ssqdata=pd.read_csv("getssq.csv")
ssqdata.head()

94c9f1d0fc2340eaa2da5a5da1b0f468.png


1、修改表头


更改表头并去除无用数据:

ssqnames=['date','id','numbers','total','first','second']
ssqdata.to_excel('getssqv2.xlsx')
ssqdatav2=pd.read_excel("getssqv2.xlsx",usecols='B:G',names=ssqnames)
ssqdatav2.head()


95cd558d8ca14fe9bbdc0ac167cb0d1e.png

更改日期类型:

ssqdatav2['date']=pd.to_datetime(ssqdatav2['date'])
ssqdatav2.dtypes

9b55ddc3498149f6909c5e44b4560cc0.png


2、增加时间列


# 增加辅助列
ssqdatav2['ssqyear']=ssqdatav2['date'].dt.year  # 如果原来的数据不是 datetime64[ns]类型则不能使用这个函数
ssqdatav2['ssqmonth']=ssqdatav2['date'].dt.month # 月份
ssqdatav2['ssqquarter']='Q'+(ssqdatav2['date'].dt.quarter).apply(str) #不加这个 .apply(str)会报错
ssqdatav2['ssqym']=ssqdatav2['date'].apply(lambda x:x.strftime('%Y%m'))
ssqdatav2['ssqyq']=ssqdatav2['date'].dt.to_period('Q')
ssqdatav2['ssqseason']=ssqdatav2['ssqmonth'].apply(lambda x:'spring' if x<=3 else 'summer' if x<=6 else 'autumn' if x<=9 else 'winter')
ssqdatav2.head()

42e28d6ca33a4df6af25bd6db94f093f.png


3、分割获奖号码


# 如何分割获奖号码 
import re 
numnames=['n01','n02','n03','n04','n05','n06','n07']
# first prize 一等奖 
fpnames=['fpcounts','p01','p02','p03','p04']
ssqdatav2[numnames]=ssqdatav2['numbers'].str.split('  ',expand=True).replace()  # 注意是两个空格
ssqdatav2.head(2) 

34dba9f04c6e498281aabf089cb2d503.png


4、使用正则表达式获取汉字


1a0f3025a5374d9eb7190391b958fa0a.png


# 为分解firstprize定义函数
def fpp(x):
    if len(x)<=2:  # 判断是否只有汉字,还是也有数字
        return "待定"
    else: # 使用正则表达式获取中文
        pattern="[\u4e00-\u9fa5]"
        pat=re.compile(pattern)
        return ''.join(pat.findall(x))
#使用fp() 
ssqdatav2['fpprovince']=ssqdatav2['first'].apply(lambda x:fpp(x))
ssqdatav2.head(310)

946c0938d6f14ce98e30b24bbde8e80c.png603122782c9342ad98d98e2ee07a1db0.png9c91457d3df44d1dbfa9a554db47f386.png

ssqdatav2.dtypes
# total本来是销售额,如何将其格式转换为float或者int类型
# 自定义函数,将文本类型转换成数字类型  
def t2f(x):
    return float(''.join(re.findall('\d+',x)))
ssqdatav2['total2']=ssqdatav2['total'].apply(lambda x:t2f(x))


5、绘制透视图


# 透视
fig,axes=plt.subplots(2,4,figsize=(10,9))
ssqdatav2['ncount']=1
ssqdatav2.groupby(['n01'])['ncount'].count().plot(ax=axes[0,0])
ssqdatav2.groupby(['n02'])['ncount'].count().plot(ax=axes[0,1])
ssqdatav2.groupby(['n03'])['ncount'].count().plot(ax=axes[0,2])
ssqdatav2.groupby(['n04'])['ncount'].count().plot(ax=axes[0,3])
ssqdatav2.groupby(['n05'])['ncount'].count().plot(ax=axes[1,0])
ssqdatav2.groupby(['n06'])['ncount'].count().plot(ax=axes[1,1])
ssqdatav2.groupby(['n07'])['ncount'].count().plot(ax=axes[1,2])

显示每个号码当中购买频率分布:

77940ec5b9484ee7b3a59a48962eca06.png


相关实践学习
Github实时数据分析与可视化
基于Github Archive公开数据集,将项目、行为等20+种事件类型数据实时采集至Hologres进行分析,并搭建可视化大屏。
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3&nbsp;)前置知识要求 &nbsp; 课程大纲 第一章&nbsp;了解数据仓库概念 初步了解数据仓库是干什么的 第二章&nbsp;按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章&nbsp;数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章&nbsp;采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章&nbsp;用户行为数据仓库 严格按照企业的标准开发 第六章&nbsp;搭建业务数仓理论基础和对表的分类同步 第七章&nbsp;业务数仓的搭建&nbsp; 业务行为数仓效果图&nbsp;&nbsp;
相关文章
|
7天前
|
数据可视化 Python
我是如何把python获取到的数据写入Excel的?
我是如何把python获取到的数据写入Excel的?
21 2
|
6天前
|
数据采集 Python
如何用Python Selenium和WebDriver抓取LinkedIn数据并保存登录状态
本文介绍了使用Python Selenium和WebDriver库抓取LinkedIn数据的方法。首先,安装Selenium库和对应的WebDriver,然后配置爬虫代理IP以避免频繁请求被检测。接下来,设置user-agent和cookies以模拟真实用户行为,实现登录并保持状态。登录后,使用WebDriver抓取目标页面数据,如用户名、年龄、性别和简历信息。最后,强调了优化代码、处理异常和遵守使用条款的重要性,以提高效率并避免账号被封禁。
如何用Python Selenium和WebDriver抓取LinkedIn数据并保存登录状态
|
7天前
|
机器学习/深度学习 数据可视化 数据挖掘
Python处理数据的优势?
Python处理数据的优势?【8月更文挑战第12天】
23 6
|
3天前
|
机器学习/深度学习 JSON API
【Python奇迹】FastAPI框架大显神通:一键部署机器学习模型,让数据预测飞跃至Web舞台,震撼开启智能服务新纪元!
【8月更文挑战第16天】在数据驱动的时代,高效部署机器学习模型至关重要。FastAPI凭借其高性能与灵活性,成为搭建模型API的理想选择。本文详述了从环境准备、模型训练到使用FastAPI部署的全过程。首先,确保安装了Python及相关库(fastapi、uvicorn、scikit-learn)。接着,以线性回归为例,构建了一个预测房价的模型。通过定义FastAPI端点,实现了基于房屋大小预测价格的功能,并介绍了如何运行服务器及测试API。最终,用户可通过HTTP请求获取预测结果,极大地提升了模型的实用性和集成性。
11 1
|
3天前
|
数据采集 数据可视化 算法
GitHub星标68K!Python数据分析入门手册带你从数据获取到可视化
Python作为一门优秀的编程语言,近年来受到很多编程爱好者的青睐。一是因为Python本身具有简捷优美、易学易用的特点;二是由于互联网的飞速发展,我们正迎来大数据的时代,而Python 无论是在数据的采集与处理方面,还是在数据分析与可视化方面都有独特的优势。我们可以利用 Python 便捷地开展与数据相关的项目,以很低的学习成本快速完成项目的研究。
|
4天前
|
数据采集 Java PHP
使用Python+requests简单实现模拟登录以及抓取接口数据
本文通过Python的requests库演示了如何实现模拟登录和抓取接口数据的过程,包括设置请求头、发送POST请求进行登录以及使用登录后的会话进行GET请求获取数据。
13 1
|
6天前
|
编解码 算法 Linux
Linux平台下RTSP|RTMP播放器如何跟python交互投递RGB数据供视觉算法分析
在对接Linux平台的RTSP播放模块时,需将播放数据同时提供给Python进行视觉算法分析。技术实现上,可在播放时通过回调函数获取视频帧数据,并以RGB32格式输出。利用`SetVideoFrameCallBackV2`接口设定缩放后的视频帧回调,以满足算法所需的分辨率。回调函数中,每收到一帧数据即保存为bitmap文件。Python端只需读取指定文件夹中的bitmap文件,即可进行视频数据的分析处理。此方案简单有效,但应注意控制输出的bitmap文件数量以避免内存占用过高。
|
5天前
|
数据采集 数据可视化 算法
GitHub星标68K!Python数据分析入门手册带你从数据获取到可视化
Python作为一门优秀的编程语言,近年来受到很多编程爱好者的青睐。一是因为Python本身具有简捷优美、易学易用的特点;二是由于互联网的飞速发展,我们正迎来大数据的时代,而Python 无论是在数据的采集与处理方面,还是在数据分析与可视化方面都有独特的优势。我们可以利用 Python 便捷地开展与数据相关的项目,以很低的学习成本快速完成项目的研究。 今天给小伙伴们分享的这份Python数据分析入门手册本着实用性的目的,着眼于整个数据分析的流程,介绍了从数据采集到可视化的大致流程。
|
6天前
|
数据采集 数据挖掘 数据处理
Python爬虫开发:爬取简单的网页数据
本文详细介绍了如何使用Python爬取简单的网页数据,以掘金为例,展示了从发送HTTP请求、解析HTML文档到提取和保存数据的完整过程。通过这个示例,你可以掌握基本的网页爬取技巧,为后续的数据分析打下基础。希望本文对你有所帮助。
|
6天前
|
数据采集 数据挖掘 数据处理
Python爬虫开发:爬取简单的网页数据
在数据分析中,数据的获取是第一步。随着互联网的普及,网络爬虫成为获取数据的重要手段。本文将详细介绍如何使用Python爬取简单的网页数据。