Python 双色球数据整理

本文涉及的产品
可视分析地图(DataV-Atlas),3 个项目,100M 存储空间
简介: 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


相关实践学习
DataV Board用户界面概览
本实验带领用户熟悉DataV Board这款可视化产品的用户界面
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3&nbsp;)前置知识要求 &nbsp; 课程大纲 第一章&nbsp;了解数据仓库概念 初步了解数据仓库是干什么的 第二章&nbsp;按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章&nbsp;数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章&nbsp;采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章&nbsp;用户行为数据仓库 严格按照企业的标准开发 第六章&nbsp;搭建业务数仓理论基础和对表的分类同步 第七章&nbsp;业务数仓的搭建&nbsp; 业务行为数仓效果图&nbsp;&nbsp;
相关文章
|
17天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
2月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
使用Python实现深度学习模型:智能数据隐私保护
使用Python实现深度学习模型:智能数据隐私保护 【10月更文挑战第3天】
131 0
|
15天前
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。
|
28天前
|
传感器 物联网 开发者
使用Python读取串行设备的温度数据
本文介绍了如何使用Python通过串行接口(如UART、RS-232或RS-485)读取温度传感器的数据。详细步骤包括硬件连接、安装`pyserial`库、配置串行端口、发送请求及解析响应等。适合嵌入式系统和物联网应用开发者参考。
45 3
|
2月前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
1月前
|
图形学 Python
SciPy 空间数据2
凸包(Convex Hull)是计算几何中的概念,指包含给定点集的所有凸集的交集。可以通过 `ConvexHull()` 方法创建凸包。示例代码展示了如何使用 `scipy` 库和 `matplotlib` 绘制给定点集的凸包。
28 1
|
1月前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
1月前
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
|
2月前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
74 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
2月前
|
计算机视觉 Python
Python实用记录(九):将不同的图绘制在一起、将不同txt文档中的数据绘制多条折线图
这篇文章介绍了如何使用Python的OpenCV库将多张图片合并为一张图片显示,以及如何使用matplotlib库从不同txt文档中读取数据并绘制多条折线图。
49 3
Python实用记录(九):将不同的图绘制在一起、将不同txt文档中的数据绘制多条折线图