Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法

yipeiwu_com6年前Python基础

本文实例讲述了Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法。分享给大家供大家参考,具体如下:

统计两个红球和蓝球,哪个组合最多,显示前19组数据

#!/usr/bin/python
# -*- coding:UTF-8 -*-
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import operator
#导入数据
df = pd.read_table('newdata.txt',header=None,sep=',')
tdate = sorted(df.loc[:,0])
# print tdate
#第1、2列的红球
h1 = df.loc[:,1:2].values
# print h1
#第2、3列的红球
h2 = df.loc[:,2:3].values
#第3、4列的红球
h3 = df.loc[:,3:4].values
#第4、5列的红球
h4 = df.loc[:,4:5].values
#第5、6列的红球
h5 = df.loc[:,5:6].values
#蓝球
b1 = df.loc[:,7:7].values
# print b1
#第1、3列红球
h6 = df.loc[:,1:3:2].values
h7 = df.loc[:,1:4:3].values
h8 = df.loc[:,1:5:4].values
h9 = df.loc[:,1:6:5].values
h10 = df.loc[:,2:4:2].values
h11 = df.loc[:,2:5:3].values
h12 = df.loc[:,2:6:4].values
h13 = df.loc[:,3:5:2].values
h14 = df.loc[:,3:6:3].values
#第4、6列红球
h15 = df.loc[:,4:6:2].values
#将蓝球添加到各红球组中(有2列数据变为3列数据),之后将所有数据按列向合并
data2 = np.append(h1, b1, axis=1)
for i in [h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13,h14,h15]:
  data1 = np.append(i, b1, axis=1)
  data2 = np.append(data2, data1, axis=0)
print data2
data1 = pd.DataFrame(data2)
#写入到2hldata.csv文件中
data1.to_csv('2hldata.csv',index=None,header=None)
#读取文件,进行统计,并且从大倒小排序
f = open("2hldata.csv")
count_dict = {}
for line in f.readlines():
  line = line.strip()
  count = count_dict.setdefault(line, 0)
  count += 1
  count_dict[line] = count
sorted_count_dict = sorted(count_dict.iteritems(), key=operator.itemgetter(1), reverse=True)
# for item in sorted_count_dict:
#   print "%s,%d" % (item[0], item[1])
#重置DataFrame的index
fenzu = pd.DataFrame(sorted_count_dict).set_index([0])
print fenzu
x = list(fenzu.index[:19])
y = list(fenzu.values[:19])
print x
print y
#将index替换成数值,便于画图使用
s = pd.Series(range(1,len(x)+1), index=x)
plt.figure(figsize=(12,8),dpi=80)
plt.legend(loc='best')
plt.bar(s,y,alpha=.5, color='r',width=0.8)
plt.title('The two red and one blue ball number')
plt.xlabel('two red and one blue number')
plt.ylabel('times')
#将原来index的内容显示出来
plt.xticks(s,x, rotation=30,size=10,ha='left')
plt.show()

显示结果:

可以看出红球20、26和蓝球9以及红球17、21和蓝球14,出现次数最多12次

后期的3红球和蓝球,4红球和蓝球,5红球和蓝球,6红球和蓝球的统计,基本思路一致。

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

终端命令查看TensorFlow版本号及路径的方法

终端命令查看TensorFlow版本号及路径的方法

如图,简单易懂,先激活tensorflow,然后进入python,输入python语句执行查询: 需要注意的是一定要在激活tensorflow环境后再输入python命令,否则会识别不...

python中星号变量的几种特殊用法

一、什么是星号变量 最初,星号变量是用在函数的参数传递上的,在下面的实例中,单个星号代表这个位置接收任意多个非关键字参数,在函数的*b位置上将其转化成元组,而双星号代表这个位置接收任意...

使用python实现knn算法

使用python实现knn算法

本文实例为大家分享了python实现knn算法的具体代码,供大家参考,具体内容如下 knn算法描述 对需要分类的点依次执行以下操作: 1.计算已知类别数据集中每个点与该点之间的距离 2....

用matplotlib画等高线图详解

用matplotlib画等高线图详解

等高线图是在地理课中讲述山峰山谷时绘制的图形,在机器学习中也会被用在绘制梯度下降算法的图形中。 因为等高线的图有三个信息:x,y以及x,y所对应的高度值。 这个高度值的计算我们用一个函数...

Python编程实现蚁群算法详解

Python编程实现蚁群算法详解

简介 蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。它由Marco Dorigo于1992年在他的博士论文...