(2)原神角色数据分析-2

功能一:

得到某个属性的全部角色,将其封装在class中

"""各元素角色信息:一对多"""
from pandas import DataFrame, Series
import pandas as pd
import numpy as npclass FindType:# 自动执行,将传入参数赋值给私有属性self.Attributedef __init__(self, attribute):self.Attribute = attributedef find_type(self):role_things = pd.read_excel("C:/Users/YHT/Desktop/项目/原神各属性角色信息.xlsx", header=0, index_col=0)# 补全role_things = role_things.fillna(axis=0, method="ffill")# 按照"属性"这一列的信息,将所有数据重新分组,得到一个字典things_list = role_things.groupby("属性").groupsreturn role_things.loc[things_list[self.Attribute]]

功能二:

定向查找某个角色信息,传入参数为该角色的名称

"""查找对应角色:一对一"""
from pandas import DataFrame, Series
import pandas as pd
import numpy as npclass FindRole:def __init__(self, role_name):self.role_name = role_namedef findrole(self):role_things = pd.read_excel("C:/Users/YHT/Desktop/项目/原神各属性角色信息.xlsx", header=0, index_col=0)# 将属性所包含的nan,进行填充role_things = role_things.fillna(axis=0, method="ffill")print(role_things)print()all_name = role_things["角色"]print(all_name)num = 0for x in all_name:if x == self.role_name:return_role = role_things.loc[:, "角色":]print(return_role.iloc[num])Attribute = return_role.iloc[num]["属性"]Name = return_role.iloc[num]["角色"]Hp = return_role.iloc[num]["生命值"]Def = return_role.iloc[num]["防御力"]Atk = return_role.iloc[num]["攻击力"]Break = return_role.iloc[num]["突破加成"]print(Name, Attribute, Hp, Def, Atk, Break)num += 1

功能三:

设置对应参数,筛选角色

比如,要找出生命值高于10000,防御力高于270,攻击力高于300的角色

"""设置限制参数,查找对应角色:多对多"""
from pandas import DataFrame, Series
import pandas as pd
import numpy as npclass Num:def __init__(self, Hp, Def, Atk):self.Hp = Hpself.Def = Defself.Atk = Atkdef num(self):role_things = pd.read_excel("C:/Users/YHT/Desktop/项目/原神各属性角色信息.xlsx", header=0, index_col=0)role_things = role_things.fillna(axis=0, method="ffill")if self.Hp is None:if self.Def is None:if self.Atk is None:print(role_things)else:return_things = role_things.loc[role_things["攻击力"] > self.Atk]print(return_things)else:if self.Atk is None:return_things = role_things.loc[role_things["防御力"] > self.Def]print(return_things)else:return_things = role_things.loc[(role_things["防御力"] > self.Def) & (role_things["攻击力"] > self.Atk)]print(return_things)else:if self.Def is None:if self.Atk is None:return_things = role_things.loc[role_things["生命值"] > self.Hp]print(return_things)else:return_things = role_things.loc[(role_things["生命值"] > self.Hp) & (role_things["攻击力"] > self.Atk)]print(return_things)else:if self.Atk is None:return_things = role_things.loc[(role_things["生命值"] > self.Hp) & (role_things["防御力"] > self.Def)]print(return_things)else:return_things = role_things.loc[(role_things["生命值"] > self.Hp) & (role_things["防御力"] > self.Def) & (role_things["攻击力"] > self.Atk)]print(return_things)

功能四:

按照某一参数,将角色顺序重新排列

例如,按照生命值大小,将所有角色重新排列

"""按照某一参数重新排序:一对多"""
from pandas import DataFrame, Series
import pandas as pd
import numpy as npclass Sort:def __init__(self, input_x):self.input_x = input_xdef sort(self):type_bool = Truerole_things = pd.read_excel("C:/Users/YHT/Desktop/项目/原神各属性角色信息.xlsx", header=0, index_col=0)role_things = role_things.fillna(axis=0, method="ffill")return_things = role_things.sort_values(by=self.input_x, ascending=type_bool, axis=0)print(return_things)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/36207.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

山东布谷科技直播平台搭建游戏开发技术分享:数据存储的重要意义

在市场上的热门的直播平台中,有很多小程序为用户提供各种各样的功能,这其中就有很多游戏小程序,当今社会独生子女众多,很多作为独生子女的用户都会去选择一个能够社交互动的APP来填补内心的空虚,而直播平台的实时互动的…

SAP 选择屏幕组件名描述翻译时字符长度不够问题处理

问题:有时候我们在开发report程序的时候,要求程序显示支持中英文,如果程序是在中文环境下开发的时候,需要进行翻译处理,但是我们发现选择屏幕上的组件的描述支持的默认长度是30位,如果超过该如何处理呢 解…

构建一个LLM应用所需的所有信息

一、说明 您是否对大型语言模型(LLM)的潜力感兴趣,并渴望创建您的第一个基于LLM的应用程序?或者,也许您是一位经验丰富的开发人员,希望简化工作流程?看看DemoGPT就是您的最佳选择。该工具旨在简…

【软件测试】Linux环境下Docker搭建+Docker搭建MySQL服务(详细)

目录:导读 前言 一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 Linux之docker搭…

CDN(内容分发网络)

CDN的全称是 Content Delivery Network, 即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞&a…

详谈MongoDB的那些事

概念区分 什么是关系型数据库 关系型数据库(Relational Database)是一种基于关系模型的数据库管理系统(DBMS)。在关系型数据库中,数据以表格的形式存储,表格由行和列组成,行表示数据记录&…

神秘的ip地址8.8.8.8,到底是什么类型的DNS服务器?

下午好,我的网工朋友。 DNS,咱们网工配置网络连接或者路由器时,高低得和这玩意儿打交道吧。 它是互联网中用于将人类可读的域名(例如http://www.example.com)转换为计算机可理解的IP地址(例如192.0.2.1&a…

元宇宙核能发电VR模拟仿真实训教学为建设新型电力系统提供重要支撑

随着“碳达峰、碳中和”目标与建设新型能源体系的提出,在元宇宙环境下建设电力系统是未来发展的趋势。以物联网、区块链、数字孪生、混合现实等技术为主要代表的元宇宙技术体系及其在电力和能源系统中的应用,将会促进智能电网的发展,为建设新…

Oracle 知识篇+分区表上的索引由global改为local注意事项

★ 知识点 二、知识点 Local型索引有如下优点 1.Only one index partition must be rebuilt when a maintenance operation other than SPLIT PARTITION or ADD PARTITION is performed on an underlying table partition. 2.The duration of a partition maintenance opera…

【uniapp】使用Vs Code开发uniapp:

文章目录 一、使用命令行创建uniapp项目:二、安装插件与配置:三、编译和运行:四、修改pinia: 一、使用命令行创建uniapp项目: 二、安装插件与配置: 三、编译和运行: 该项目下的dist》dev》mp-weixin文件导入微信开发者…

unity vscode 代码关联 跳转 BUG

一早打开电脑发现代码关联失效了,目测可能跟昨天一些插件更新有关 结论 就这货,开了就没法提示代码关联,估计预览版全是BUG。 另一个坑 同期有个unity插件也是预览版,“非常好使”,当场去世。评论点开有好几个人说用…

替代阿托斯DLKZOR-T/DLHZO-TES直动式伺服阀比例阀

DLKZOR-T/DLKZOR-TES直动式伺服阀比例阀结构: 1,LVDT传感器 2,比例电磁铁 3,阀体 4,阀套 5,阀芯 6,复位弹簧 7,集成数字放大器 8,七芯插头 9,RS232通…

[保研/考研机试] 杨辉三角形 西北工业大学复试上机题 C++实现

题目描述 Time Limit: 1000 ms Memory Limit: 256 mb 输入n值,使用递归函数,求杨辉三角形中各个位置上的值。 输入描述: 一个大于等于2的整型数n 输出描述: 题目可能有多组不同的测试数据,对于每组输入数据, 按题目的要求输…

15.3.2 【Linux】系统的配置文件:/etc/crontab,/etc/cron.d/*

这个“ crontab -e ”是针对使用者的 cron 来设计的,如果是“系统的例行性任务”时, 该怎么办呢?是否还是需要以 crontab -e 来管理你的例行性工作调度呢?当然不需要,你只要编辑/etc/crontab 这个文件就可以。有一点需…

机器学习终极指南:特征工程(01/2) — 第 -2 部分

西姆兰吉特辛格 一、介绍 欢迎来到“机器学习终极指南”的第二部分。在第一部分中,我们讨论了探索性数据分析 (EDA),这是机器学习管道中的关键步骤。在这一部分中,我们将深入研究特征工程,这是机器学习过程…

使用shift关键字,写一个带二级命令的脚本(如:docker run -a -b -c中的run)

省流:shift关键字 探索思路 最近有一个小小的需求,写一个类似于docker run -a -b -c这样的脚本,这个脚本名为doline,它本身可以执行(doline -a -b -c),同时又带有几个如run、init、start这样的…

verilog 实现异步fifo

理论知识参考 异步FIFO_Verilog实现_verilog实现异步fifo_Crazzy_M的博客-CSDN博客 代码 /* 位宽8bit, 位深8 */ module async_fifo#(parameter FIFO_DEPTH 8,parameter FIFO_WIDTH 8 ) (input rst_n,input wr_clk,input wr_en,input [FIFO_WIDTH - 1:0…

Chrome小技巧---多用户登录同一网站不串信息

测试中经常需要用到浏览器需要登录多个账号 但是有一个问题就是会串号 通过添加不同的用户再用这用户登录,就不串号了: 还可以在浏览器的偏好设置中添加启动地址 这样每次打开,就进到设置的地址中了

el-table自适应缩放大小

安装依赖 npm install --save vue-draggable-resizable //或 cnpm install --save vue-draggable-resizablemain.js引入依赖 import VueDraggableResizable from vue-draggable-resizable import "vue-draggable-resizable/dist/VueDraggableResizable.css"; Vue.c…

基于Redis实现全局唯一Id

微信公众号访问地址:基于Redis实现全局唯一Id 推荐文章: 1、使用原生Redis命令实现分布式锁 ​ 2、为什么引入Redisson分布式锁? 3、SpringBoot整合多数据源,并支持动态新增与切换(详细教程) 4、Sprin…