《封号码罗》数据分析与人工智能之pandas(三)

彩票数据分析实战:用Python做决策优化而非号码预测 彩票本质上是独立同分布的离散均匀随机过程,任何‘预测中奖号码’都违背概率论基本原理;真正可落地的技术路径是基于历史开奖数据的概率建模与结构化决策优化——通过冷热号加权统计、组合结构评分、性价比动态阈值等方法,将选号转化为可量化、可回测、可迭代的数据决策问题;其技术价值在于提升资金使用效率与行为纪律性,广泛应用于理性彩民策略管理、统计学教学实践及行为经济学实证研究;本文聚焦Python+Pandas轻量级实现,覆盖数据清洗、指标计算、策略回测到可视化看板的完整链路。 阅读详情

第一部分

import numpy as np
import pandas as pd
from pandas import Series, DataFrame
import matplotlib.pyplot as plt
from matplotlib import pyplot
import time

# 一、Series是一种类似与一维数组的对象,有下面两部分组成:
#               values:一组数据(ndarray类型)
#               index:相关的数据索引标签
# ndarray创建
s1 = Series(data=np.random.randint(0, 150, size=10), index=list("abcdefhijk"), name="Python")
# 字典创建  #   type(s2) <class 'pandas.core.series.Series'>  core核心的意思
s2 = Series({"A": 110, "B": 119, "C": 120, "D": 130, "E": 150}, name="s2")
s3 = Series({"A": 89, "B": 128, "C": 135, "D": 148}, name="s3")

# 索引和切片
# 显式索引:使用index或者字典的key作为索引值;          使用.loc["A"]推荐
# 隐式索引:使用0,1...                                 使用.iloc[0,1,2...]
# 切片 s2["A":"D"]
# s2.shape  (5,)    返回形状
# s2.size   5   返回长度,元素个数
# s2.index  Index(['A', 'B', 'C', 'D', 'E'], dtype='object')
# s2.values     [110 119 120 130 150]   series的值是ndarray
# s2.head()     s2.tail()   默认头部五个数据  尾部五个数据
# s2.isnull()    不是空值就返回False
# s2.notnull()      不是空值就返回True

# Series运算  Series是numpy的升级版,numpy有的series也有
# s2.add(10)    广播机制 全部加10
# s2["A"] = np.NaN  在运算时空值填充为0
# s2.add(10, fill_value=0)
# s2.astype(int)    修改数据类型
# s2.value_counts() 统计数值出现的次数
# s2.var()  方差
# s2.std()  标准差
# s2 + s3 如果索引没有一一对应,怎自动用NaN补充不对应的那一行
start = time.perf_counter()

print(s2 + s3)

end = time.perf_counter()
print(f"程序运行耗时为{(start - end).__round__(20)}")

第二部分

import numpy as np
import pandas as pd
from pandas import Series, DataFrame
import matplotlib.pyplot as plt
from matplotlib import pyplot
import time

df = DataFrame(data={"Python": np.random.randint(0, 150, size=5), "Math": np.random.randint(0, 150, size=5),
                     "English": np.random.randint(0, 150, size=5)}, index=list("ABCDE"))
# DataFrame属性:values  columns  index shape  字典的key是列索引,字典的value是列的值,index是行索引
# df.shape (5, 3)

df2 = DataFrame(data=np.random.randint(0, 150, size=(5, 4)), index=list("ABCDE"),
                columns=["Python", "Math", "English", "Physic"])
# df2.columns       Index(['Python', 'Math', 'En', 'Physic'], dtype='object')

# df.to_csv("./data.txt")
# pd.show_versions()显示pandas支持的库 openpyxl安装了才能支持xlsx
# df.to_excel("./data.xlsx")
# dd1 = pd.read_csv("./data.txt")     # 读取数据
# dd2 = dd1.rename(mapper={"Unnamed: 0": "index"}, axis=1)    # 替换某个列索引的名字
# dd3 = dd2.set_index(keys="index")   # 设置某个列为行索引
# dd4 = pd.read_excel("./data.xlsx")
# 结构化数据 数据库里面的数据是结构化数据
# 半结构化数据    如json数据
# 非结构化数据    如网页中杂乱无章的数据是非结构化数据 爬虫提取非结构化数据转为半结构化或者结构化

# DataFrame的索引:字典方式 属性的方式
# 可以将DataFrame的列获取为一个Series,返回的Series拥有原DataFrame相同的索引,且name属性也已经设置好了,就是对应的列名
# df2[["Python", "En"]] # 这都是对列进行索引

# 对行进行索引三种方法  使用.ix[]通用    使用.loc["index"]   使用.iloc[0]
# df2.loc[["A", "B"]]   df2.iloc[[0,1]]

# 对元素进行索引
# df2["Python"]["A"]    df2["Python"][["A","B"]]    # 先找列
# df2.loc["C"]["Python"]  ==  df2.loc["C", "Python"] # 先找行 不支持df2.loc["Python", "C"]

# 切片
# 直接使用中括号时:索引表示的是列索引,切片表示的行切片
# df2["A":"D"]["Python"]切片后在哪某一列  不能使用df2["Python":"En"]切片
# df2.loc["A":"D"] == df2.iloc[0:4]
# 列切片只有一种方式 df2.iloc[:, 1:3]  冒号表示选取所有行

# DataFrame的运算  也有广播机制
# df2 - 10    df2.pow(2)幂运算   df2.divide(3).round(2)除以3并保留2位小数
# df2.cov() 协方差
# df2.corr() 相关性系数 0~1之间    可以筛选出不重要的一些属性
# df2.var() 方差  越小说明数据之间的大小波动越平稳
# df2.info() DataFrame的数据信息
# df2.describe()    数据的描述
# axis =0 ----- index
# axis =1 ----- columns

start = time.perf_counter()
print(df2)
end = time.perf_counter()
print(f"程序运行耗时为{(start - end).__round__(20)}")

第三部分

import numpy as np
import pandas as pd
from pandas import Series, DataFrame
import time

# 空数据处理
df = DataFrame(np.random.randint(0, 150, size=(150, 3)), columns=["Python", "Math", "En"])
for i in range(15):
    index = np.random.randint(0, 150, size=1)[0]
    column = np.random.randint(0, 3, size=1)[0]
    df.iloc[index, column] = None  # 随机某行某列值为空

cond1 = df.isnull().any(axis=1)  # 空数据行为True  定位空数据的行
# print(df[cond1])  # 获得所有空数据行

cond2 = df.notnull().all(axis=1)  # 定位所有非空数据
# print(df[cond2])                    # 获得所有非空数据的行

# df.dropna()  # 删除空数据行
# 方式一
# df.drop(labels=["En"], axis=1)    # 默认删除行,要删除列时使用axis=1
# df.drop(labels=[5,8])     # 删除第五行和第八行的数据
# 方式二
# cond3 = df.isnull().any(axis=1)
# index = df[cond3].index()
# df.drop(labels=index)
# 删除小于60的行
# cond4 = (df < 80).any(axis=1)
# index2 = df[cond4].index
# df.drop(labels=index2)
# 平均分小于90的过滤
# cond5 = df.mean(axis=1) < 90
# index3 = df[cond5].index
# dd = df.drop(labels=index3)
# cond = cond1 | cond2   还可以多个条件一起使用

df2 = DataFrame(np.random.randint(0, 150, size=(5, 3)), columns=["Python", "Math", "En"])
df2["Python"][0] = None
df2["En"][3] = None
# dd = df2.fillna(60)               # fillna()填充数据
# dd = df2.fillna(value=df2.mean()) # 填充平均值
# dd = df2.fillna(value=df2.median())  # 填充中位数
# df.fillna(method="backfill", axis=0)  # method : {'backfill', 'bfill', 'pad', 'ffill', None},  其他填充方式

start = time.perf_counter()
print()
end = time.perf_counter()
print(f"程序运行耗时为{(start - end).__round__(20)}")

第四部分

import numpy as np
import pandas as pd
from pandas import Series, DataFrame
import time

# 创建多层 行索引
# 隐式构造 最常见的方法是给DataFrame构造函数的index参数传递 两个或者更多数组
# Series创建多层索引
s = Series(np.random.randint(0, 150, size=6), index=pd.MultiIndex.from_product([["A", "B", "C"], ["期中", "期末"]]))
# DataFrame创建多层索引
# 二层行索引
df2 = DataFrame(np.random.randint(0, 150, size=(10, 3)), columns=["Python", "Math", "En"],
                index=pd.MultiIndex.from_product([list("ABCDE"), ["期中", "期末"]]))
# 三层行索引  格式有点乱了  size里面的20 对应from_product里面的5*2*2,否则长度不匹配会报错
df3 = DataFrame(np.random.randint(0, 150, size=(20, 3)), columns=["Python", "Math", "En"],
                index=pd.MultiIndex.from_product([list("ABCDE"), ["期中", "期末"], ["模拟一", "模拟二"]]))
# 二层列索引     注意创建时的行列数目 这里是五行六列
df4 = DataFrame(np.random.randint(0, 150, size=(5, 6)),
                columns=pd.MultiIndex.from_product([["Python", "Math", "En"], ["期中", "期末"]]), index=list("ABCDE"))

# 多层索引DataFrame的索引和切片
# 获取行和列,与之前的规则类似
# dd = df3.loc["A", "期末", "模拟二"]["Python"]    # 获取元素

# 聚合操作              level的值是指定哪一层操作保留
# dd = df3.mean(axis=0, level=2)

# 索引的堆栈 stack
# stack() 列变行   unstack()行变列    dd = df3.unstack().unstack().unstack()
# dd = df3.unstack(level=2)     这个是默认状态,可以指定行变成列的是哪一层
# dd = df3.unstack(level=[1, 2])    还可以是一个列表
# 多层Series通过unstack转成DataFrame
dd = df3.unstack(level=[1, 2])

# 数据聚合(重点)
# 通常是要使每一个数组生成一个单一的数值
# 数据分类处理:
#      分组---先把数据分为几组
#      用函数处理---为不同组的数据应用不同的函数以转换数据
#      合并---把不同组得到的结果合并起来
# 数据分类处理的核心:grounpby()函数
df5 = DataFrame({"item": np.random.randint(0, 10, size=100),
                 "sailer": np.random.randint(0, 10, size=100),
                 "weight": np.random.randint(30, 300, size=100),
                 "price": np.random.randint(1, 20, size=100)})


def convert_item(x):
    if x < 2:
        return "萝卜"
    elif x < 7:
        return "白菜"
    else:
        return "青椒"


df5["item"] = df5["item"].map(convert_item)


def convert_sailer(x):
    if x < 5:
        return "郭靖"
    elif x < 7:
        return "黄蓉"
    else:
        return "欧阳克"


df5["sailer"] = df5["sailer"].map(convert_sailer)


def convert_weight(x):
    if x < 80:
        return 50
    elif x < 180:
        return 150
    else:
        return 220


df5["weight"] = df5["weight"].map(convert_weight)
# 统计这一个月,三个人分别销售了多少斤蔬菜
ret = df5.groupby(["sailer"])["weight"]  # 分好组了,还没有计算


# ret = ret.sum()  # ==ret.apply(np.sum)
# ret = ret.count() 算次数  # ==ret.apply(np.size)
# 自定义分组聚合
def analysis(x):
    return (x.size, x.sum(), np.round(x.mean(), decimals=2), x.min())


ret = ret.apply(analysis)

ret2 = df5.groupby(["sailer", "item"])  # 既按照人统计,又按照菜别统计
# ret2 = ret2.mean()    求所有的平均值

# 价格求平均,销量求和
ret2 = ret2.agg({"weight": "sum", "price": "mean"}).round(2)

start = time.perf_counter()
print(ret2)
end = time.perf_counter()
print(f"程序运行耗时为{(start - end).__round__(20)}")

第五部分

import numpy as np
import pandas as pd
from pandas import Series, DataFrame
import time

# 数据的拼接操作
# 级联:pd.concat   pd.append
# 合并:pd.merge    pd.join

# numpy级联回顾
# nd1 = np.random.randint(0, 10, size=(4, 5))
# nd2 = np.random.randint(0, 10, size=(7, 5))
# nd3 = np.random.randint(0, 10, size=(4, 8))
#
# dd1 = np.concatenate([nd1, nd2])
# dd2 = np.concatenate([nd1, nd3], axis=1)

df1 = DataFrame(np.random.randint(0, 150, size=(5, 3)), columns=["Python", "Math", "En"], index=list("ABCDE"))
df2 = DataFrame(np.random.randint(0, 150, size=(5, 3)), columns=["Python", "Math", "En"], index=list("ABCDE"))
df3 = DataFrame(np.random.randint(0, 150, size=(5, 3)), columns=["Chinese", "Physic", "Chem"], index=list("QWRTY"))
df4 = DataFrame(np.random.randint(0, 150, size=(5, 3)), columns=["Python", "Math", "Java"], index=list("ABCFG"))

# dd = pd.concat([df1, df2])    # 一般级联都是行方向进行级联,不同表,可以级联必然是属性相同
# dd = pd.concat([df1, df3], axis=1).fillna(0)
# dd = pd.concat([df1, df4], join="inner")    # join默认是outer保存所有索引 inner保留共同索引
# dd = pd.concat([df1, df4], join_axes=[df1.columns])   # 现在好像没有这个参数,指定某个数据集的索引为合并列索引
# dd = pd.concat([df1, df4], ignore_index=True)   # 忽略原始索引,用0,1,2,...
# dd = pd.concat([df1, df4], ignore_index=True)   # 忽略原始索引,用0,1,2,...
# dd = pd.concat([df1, df4], keys=["期中", "期末"])  # 定义数据的所属情况
# ds = dd.unstack(level=0).stack()    # 改变结构
# dd = df1.append(df2)        # append()末尾追加

# merge()融合,根据共同属性值进行融合 年龄,省份
dd = df1.merge(df2)

start = time.perf_counter()
print(dd)
end = time.perf_counter()
print(f"程序运行耗时为{(start - end).__round__(20)}")

第六部分

import numpy as np
import pandas as pd
from pandas import Series, DataFrame
import time

# 数据的拼接操作
# 级联:pd.concat   pd.append
# 合并:pd.merge    pd.join
# merge()融合,根据共同属性值进行融合 如统计省份的人口

# 一对一融合
# df1 = DataFrame({"id": [1, 10, 1024], "name": ["po", "alis", "michael"], "sex": ["male", "female", "male"]})
# df2 = DataFrame({"id": [1, 11, 1025], "salary": [1000, 2000, 3000], "age": [20, 30, 40]})
# dd = df1.merge(df2)

# 多对一的融合
# df3 = DataFrame({"id": [1, 10, 1024], "name": ["po", "alis", "michael"], "sex": ["male", "female", "male"]})
# df4 = DataFrame({"id": [1, 1, 1], "salary": [1000, 2000, 3000], "age": [20, 30, 40]})
# dd = df3.merge(df4)

# 多对多的融合
# df5 = DataFrame({"id": [1, 1, 1], "name": ["po", "alis", "michael"], "sex": ["male", "female", "male"]})
# df6 = DataFrame({"id": [1, 1, 1], "salary": [1000, 2000, 3000], "age": [20, 30, 40]})
# dd = df5.merge(df6)

# key的规范化  使用on等于显示指定哪一列为key,当有多个key相同时使用
df7 = DataFrame({"id": [1, 10, 1024], "name": ["po", "alisa", "Michael"], "sex": ["male", "female", "male"]})
df8 = DataFrame({"id": [1, 11, 1025], "name": ["softpo", "alisa", "Michael"], "age": [20, 30, 40]})
df9 = DataFrame({"Id": [1, 11, 1025], "salary": [1000, 2000, 3000], "age": [20, 30, 40]})
# dd = df7.merge(df8, on="id")  # 有相同列时的情况
# dd = df7.merge(df9, left_on="id", right_on="Id")  # 没有相同列时的情况,可以指明哪两个列合并

# 内合并与外合并   内合并只保留两者都有的key(默认模式)    how是指定如何合并,可查看源码,还有左合并等等
# dd = df7.merge(df9, how="outer", left_on="id", right_on="Id")   # 无论列名是否对齐都合并

# 列冲突的解决  使用on解决,也可以使用suffixes=自己指定的后缀
# dd = df7.merge(df8, on="id", suffixes=("_A", "_B"))     # 原来是_x,_y

# 小合并的例子
df10 = DataFrame(np.random.randint(0, 150, size=(5, 3)), columns=["Python", "Math", "En"], index=list("ABCDE"))
df11 = DataFrame(df10.sum(axis=1), columns=["sum"])
dd = pd.merge(df10, df11, left_index=True, right_index=True)

start = time.perf_counter()
print(dd)
end = time.perf_counter()
print(f"程序运行耗时为{(start - end).__round__(20)}")

第七部分

# 美国人口数据分析

# 查询操作
#  df1 = df.query("列名 == 列值 and 列名 == '列值'")

# 去重
# df.unique("列名")

# 全局设置,float保留两位或自定义几位小数
# pd.set_option('display.float_format',lambda x:'%0.2f'%(x))
双色球数据分析:基于Python的开机试机号匹配规律与推荐策略 数据分析作为从海量信息中提取有价值洞见的技术手段,其核心原理是通过统计方法和算法模型识别数据中的模式和趋势。在技术价值层面,数据分析能够为决策提供量化支持,在金融、电商、游戏等多个领域都有广泛应用。以彩票数据分析为例,通过Python的pandas、numpy等工具对历史开奖数据进行采集和清洗,可以建立开机试机号匹配度计算模型,分析号码出现频率的热号冷号规律。这种基于概率统计的方法虽然不能预测随机事件的确切结果,但为理解数据规律提供了实践场景,特别适合技术人员学习数据采集、特征工程和可视化分析的全流程技能。 阅读详情

相关推荐

python 数据处理学习pandas之DataFrame(一)

暂无

贪玩小神的专栏 3万+

python进阶数据_Python数据处理进阶——pandas

importnumpy as npimportpandas as pdfrom pandas importSeries, DataFrame#函数反应和映射df = DataFrame(np.random.randn(4,3), columns= list("bde"),index= ["Utah", "Ohio", "Texas", "Oregon"])#print df#print np.ab...

weixin_39740419的博客 193

探索DeepSeek在双色球历史数据分析中的娱乐性应用

本文探讨了DeepSeek在双色球历史数据分析中的娱乐性应用,强调彩票预测的不可行性。文章通过数据爬取、统计分析和可视化等实践,展示了如何将AI作为数据分析工具进行技术探索,而非用于预测。重点在于培养数据分析思维和Python编程能力,而非追求不切实际的预测效果。

weixin_29061997的博客 212

pandas:层次化索引

层次化索引(hierarchical indexing)是pandas的一个重要的功能,它可以在一个轴上有多个(两个以上)的索引,这就表示着,它能够以低维度形式来表示高维度的数据。 一. 创建多层行索引 1、 隐式构造 1)最常见的方法是给DataFrame构造函数的index参数传递两个或更多的数组,Series也可以创建多层索引。 s = Series(np.random.randint(0,...

错位的梦寐的博客 2715

离心泵级间导叶的设计计算

离心泵级间导叶的设计计算高速离心泵级间流道的作用是将第一级复合叶轮流出的高速液流收集起来并送入第二级复合叶轮。级间流道的设计应考虑降低液体的流速,实现动能向压力能转化,减小液体的水力损失。级间流道主要有蜗壳形流道和导叶两种结构形...

cqzc55322的博客 2565

Carsim和Matlab/Simulink联合仿真时Carsim匹配不到Matlab的解决方法

      本人使用Carsim和Matlab/Simulink联合仿真做过用机器学习方法解决ACC和简单换道的仿真,曾将8.02 2016 2018三个版本Carsim反复安装N次,有相同方向的同学或安装过程遇到问题的同学可以加本人qq505625869一起交流经验心得。 一.前言       Carsim是一款很好的联合仿真软件,使用Carsim,可以避免搭建很多非常复杂的动力学模型

Kaikai_Liao的博客 8766

《封号码罗》数据分析与人工智能之pandas(四)

第一部分 import numpy as np import pandas as pd from pandas import Series, DataFrame import matplotlib.pyplot as plt from matplotlib import pyplot import time # 数据加载 # pd.read_"文件类型"("./文件名称.后缀",header=N...

Python_DJ的博客 246

Win10更新后黑屏只剩鼠标?火绒误杀explorer.exe的5种自救方案(附详细步骤)

本文详细介绍了Win10更新后出现黑屏只剩鼠标的5种专业修复方案,重点解决火绒误杀explorer.exe的问题。从基础的任务管理器操作到安全模式下的系统修复,再到注册表编辑和系统还原,提供了全面的解决方案,帮助用户快速恢复系统正常运行。

weixin_29306571的博客 636

《封号码罗》数据分析与人工智能之matplotlib(六)

第一部分 import numpy as np import pandas as pd from pandas import Series, DataFrame import matplotlib.pyplot as plt from matplotlib import pyplot import time # 设置plot的风格和样式 # plot语句中支持除x,y以外的参数,以字符串形式存在...

Python_DJ的博客 278

快速卷积结构FIR数字滤波器的设计与ARM平台实现

本文提出了一种基于快速卷积结构的FIR数字滤波器设计与实现方案。通过Matlab设计了满足特定指标的低通FIR滤波器,采用重叠-保存法和重叠-相加法两种快速卷积算法,将计算复杂度从O(N·M)降低到O(NlogN)。详细介绍了滤波器系数生成、性能验证流程,并提供了ARM平台C语言实现的关键技术,包括定点量化处理。实验结果表明,该方法能有效滤除混合信号中的高频干扰,保留目标1kHz正弦信号,验证了设计方案的有效性。

huanghm88的专栏 122

基于Simulink实现电动汽车电机驱动系统的建模与仿真

通过上述步骤,我们成功实现了基于Simulink的电动汽车电机驱动系统的建模与仿真。该系统能够全面评估电机驱动系统的性能,验证控制策略的有效性,并通过优化设计提高车辆的动力性和效率。引入智能预测:结合人工智能技术,实现更智能的控制策略。扩展功能:增加对多种电机类型的支持,提升系统通用性。实验验证:将仿真模型应用于实际硬件,进行实验验证,评估其在实际工况下的表现。

xiaoheshang_123的博客 316

Python数据分析与程序设计(四):Pandas数据分析实践

上一篇系列博客中,我们介绍了Pandas库的基本概念和功能,为读者展示了Pandas在数据分析领域中的强大之处。本篇将从理论走向实践,通过具体的数据分析案例来应用Pandas库。对应数据集我会在后续上传,大家可以在我的主页中找到它是数据分析和机器学习中的一个重要步骤,它涉及将原始数据转换成适合进一步分析或模型训练的形式。预处理的目的是提高数据的质量,使其更加适合特定的分析任务;去除重复值:删除数据集中的重复记录,确保数据的唯一性。处理缺失值。

m0_71920354的博客 1644

【YOLO目标检测全栈实战】98 YOLO模型在低光照环境下的自适应增强策略

你有没有遇到过这种情况?深夜加班调试产线检测模型,车间灯光昏暗,摄像头采集的图片黑乎乎一片,YOLO模型直接“罢工”——漏检率飙升到40%以上。上个月我在一个汽车零部件质检项目里就栽了跟头:白天模型跑得飞起,mAP@0.5达到0.92,可一到夜班,同样的产线、同样的零件,mAP直接掉到0.63。客户拍着桌子问我:“你这模型怎么还分白天黑夜?”

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 284

七款AI数据分析神器评测,数据分析效率翻倍不是梦!

【AI数据分析工具大盘点】市面上涌现多款AI工具助力数据处理:1. FormularizerAI可将自然语言转为Excel公式;2. SheetAI嵌入Google Sheets实现公式生成+分析;3. ExcelAgent支持本地部署,保障数据安全;4. Claude for Sheets擅长文本分析;5. BrowseAI实现无代码网页数据抓取;6. Ajelix集成公式生成+VBA脚本;7. PandasAI适合Python用户进行高级分析。这些工具覆盖从基础公式到复杂分析的各类需求,显著提升数据处理

数据矿工-数据化运营博客 2217

【车载以太网】Eth Stack Bringup

摘要:本文基于AUTOSAR架构,详细介绍了在TC3xx硬件平台上实现EthStack Bringup的全过程。作者通过配置MCAL和Davinci工具,完成了EthTrcv、Eth、EthIf、EthSM和TcpIp等模块的集成,并解决了16字节内存对齐和以太网速率不匹配等问题。最终实现了PC端与开发板的Ping通,并通过WireShark验证了数据包收发。文章总结了调试中的关键问题与解决方案,强调了实践的重要性,为后续EthStack的深入分析奠定了基础。

qq_36056498的博客 180

人工蜂鸟算法(AHA)详解:原理、实现与应用

人工蜂鸟算法(AHA)是一种受蜂鸟飞行技能和觅食策略启发的新型元启发式优化算法。该算法模拟蜂鸟的全向飞行、记忆能力和觅食行为,通过引导觅食、领地觅食和迁徙觅食三种策略在解空间高效搜索。AHA将优化问题解类比为食物源,蜂鸟作为搜索代理,利用访问表记录访问信息。算法核心包括三种飞行技能建模(全向、对角线和轴向飞行)以及对应的数学公式实现。Python实现展示了种群初始化、适应度计算和觅食行为模拟等关键步骤。AHA以其高效的全局搜索能力、良好收敛性和鲁棒性,在复杂优化问题中表现优异。

qq_42212808的博客 904

足球运动员的数据分析实战(python)

1、案例背景   当前,足球运动是最受欢迎的运动之一。在此万受瞩目的运动下,打算针对足球运动员个人的信息,技能水平等各项指标进行相关的分析与统计。例如,我们可能会关注如下的内容: 足球运动员是否受出生日期的影响? 左撇子适合踢足球吗? 足球运动员的号码是否与位置相关? 足球运动员的年龄与能力具有怎样的关联? 哪些技能会对足球运动员的综合能力造成较大的影响? 2、任务说明   目前,我们收集到了...

数据分析与统计学之美 2万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

超长干货:Python实操数据分析教程,轻松上手数据分析

在当今数据驱动的时代,数据分析成为了解锁洞见和驱动业务决策的关键。Python,作为一种功能强大且易于学习的编程语言,已成为数据分析的首选工具之一。本文将引导您了解使用Python进行数据分析的一般流程,包括数据清洗、分析处理、可视化和得出结论。

xiaolinyui的博客 2万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

python 的pandas DataFrame大全

导言:对python的数据分析包的pandas不可不提,其中数据透视表DataFrame的数据处理能力很是强大; 1.导入pandas import pandas as pd DataFrame = pd.DataFrame2.数据读入 data = pd.read_csv(path, sep = '\t', header='infer') 3.常用命令 df = DataFram

haramshen的博客 1863

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

python 数据处理学习pandas之DataFrame(三)

请原谅没有一次写完,本文是自己学习过程中的记录,完善pandas的学习知识,对于现有网上资料的缺少和利用python进行数据分析这本书部分知识的过时,只好以记录的形势来写这篇文章.最如果后续工作定下来有时间一定完善pandas库的学习,请见谅!                     by LQJ 2015-10-25 前言: 首先推荐一个比较好的Python pandas DataFra

贪玩小神的专栏 4万+

基于Python机器学习的双色球数据分析与预测

数据量:提供的数据量较小,可能影响模型的准确性。通常需要更多的历史数据来训练有效的模型。随机性:双色球的结果具有随机性,预测结果不应被视为实际的开奖结果。通过以上步骤,我们简单地演示了如何使用Python进行双色球数据分析与预测。尽管机器学习可以帮助我们理解数据中的某些模式,但彩票的随机性质使得任何预测都不能保证成功。希望大家在进行这些技术探索时,始终保持理性和谨慎。双色球是公益事业,祝大家好运!

7791

机器学习之pandas

机器学习之pandas numpy和pandas的区别 numpy更多的是处理数值性的分析,而pandas除了处理数值之外(基于numpy)还能处理其它类型的数据,如字符串,时间序列等。 Series import pandas as pd # Series 是一维数组,带标签的数组,标签指的就是索引 # dataFrame是多维数组 series = pd.Series([2, 3, 5, 6,...

weixin_43761300的博客 243

pandas数据分析35——多个数据框实现笛卡尔积

pandas实现笛卡尔积,多键合并。

weixin_46277779的博客 2255

python数据分析和数据挖掘之pandas模块

一、pandas模块 pandas(Python Data Analysis Library)是基于numpy的数据分析模块,提供了大量标准数据模型和高效操作大型数据集所需要的工具,可以说pandas是使得Python能够成为高效且强大的数据分析环境的重要因素之一。它最主要的两个数据结构是series和DataFrame。本文主要介绍series的一些操作。 二、命令及其相关功能介绍 下面我将介绍pandas的series的方法: 方法 功能描述 pandas.series(list,ind

m0_43405302的博客 888

pandas学习

1.打印所有的行所有的列存储的数据 pd.set_option('display.width', None) # 显示所有列 pd.set_option('display.max_rows', None) # 显示所有行

机灵鬼 400

python数据分析:数据拆分,数据合并,数据筛选

python数据分析

微笑一号的博客 6239
上一篇: 《封号码罗》数据分析与人工智能之opencv(二)
下一篇: 《封号码罗》数据分析与人工智能之pandas(四)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值