(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.rhkb.cn/news/89095.html

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

相关文章

数学分析:曲线曲面积分

这一章还是很重要的,可以看到为什么dt1^dt2和dt1dt2是一样的。 可以看到,核心还是黎曼和,我们把两种微分的黎曼和都列出来,并且证明两个相等,即可。 这里要注意,微分形式的积分,在黎曼和的情况…

布置Zabbix监控

一、在 Web 页面中添加 agent 主机 1.1打开Zabbix的Web页面 2.2在 Web 页面中添加 agent 主机 二、在 Web 页面创建自定义监控项模板 2.1创建模版

django实现登录和登录的鉴权

1、创建数据库的管理员表 在models.py 中定义admin表,为了简单,表里只有用户名和密码还有默认加的id 三个字段 from django.db import models# Create your models here.class Admin(models.Model):username models.CharField(verbose_name"用户…

【JavaEE进阶】Spring 更简单的读取和存储对象

文章目录 一. 存储Bean对象1. 配置扫描路径2. 添加注解存储 Bean 对象2.1 使用五大类注解存储Bean2.2 为什么要有五大类注解?2.3 有关获取Bean参数的命名规则 3. 使用方法注解储存 Bean 对象3.1 方法注解储存对象的用法3.2 Bean的重命名3.3 同⼀类型多个 Bean 报错 …

【力扣每日一题】88. 合并两个有序数组 双指针 辅助数组 8.13打卡

文章目录 题目思路代码 题目 88. 合并两个有序数组 难度: 简单 描述: 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&am…

Excel(1):表头或列头冻结

1.需求 对于较大的excel,通常需要固定一部分内容,另一份内容为可翻动。 2.解决方式 在视图中选择冻结窗格,需要注意的是,选择冻结窗格时,窗格的左上方的表格区域是固定不动的,只可以向下或者向右活动。

TCP/IP 下的计算机网络江湖

〇、引言 在当今数字化时代,计算机网络宛如广袤江湖,涵盖着五大门派:物理层、数据链路层、网络层、传输层和应用层。每个门派独具技能,共同构筑着现代网络的框架。物理层宛如江湖基石,将比特流传输;数据链路层如武林传承,组织数据帧传递;网络层则像导航大师,寻找传送路…

EMQX Enterprise 5.1 正式发布:生产环境就绪的 MQTT over QUIC、基于 MQTT 的文件传输支持

近日,企业级 MQTT 物联网接入平台 EMQX Enterprise 5.1 正式发布。该版本为用户提供了更强大、更灵活的物联网解决方案,通过简化功能操作与管理流程,帮助用户快速构建所需的业务。 新版本提供了更大规模且更具伸缩性的全新集群架构&#xff…

Mac M2 Pro安装使用Cocoapods

Mac Pro M2安装使用Cocoapods 在新公司要做iOS开发,所以在新电脑上安装Cocoapods 在升级gem,sudo gem update --system,和安装cocoapods时都遇到如下的提示: ERROR: While executing gem ... (Errno::EPERM)Operation not per…

探讨uniapp的网络通信问题

uni-app 中有很多原生的 API,其中我们经常会用到的肯定有:uni.request(OBJECT) method 有效值 注意:method有效值必须大写,每个平台支持的method有效值不同,详细见下表。 success 返回参数说明 data 数据说明 最终…

赛事 | 第25届中国机器人及人工智能大赛全国决赛榜单发布

第25届中国机器人及人工智能大赛成功举办 2023年6月13日至14日,第二十五届中国机器人及人工智能大赛于海南科技职业大学成功举办。大赛由中国人工智能学会主办,共有来自清华大学、哈尔滨工业大学、中国科学技术大学、西安交通大学等500多所高校进入全国…

线性代数(三) 线性方程组向量空间

前言 如何利用行列式,矩阵求解线性方程组。 线性方程组的相关概念 用矩阵方程表示 齐次线性方程组:Ax0;非齐次线性方程组:Axb. 可以理解 齐次线性方程组 是特殊的 非齐次线性方程组 如何判断线性方程组的解 其中R(A)表示矩阵A的…

【RabbitMQ上手——单实例安装5种简单模式实现通讯过程】

【RabbitMQ入门-单实例安装&5种简单模式实现通讯过程】 一、环境说明二、安装RabbitMQ三、用户权限及Virtual Host设置四、5种简单模式实现通讯过程的实现五、小结 一、环境说明 安装环境:虚拟机VMWare Centos7.6 Maven3.6.3 JDK1.8RabbitMQ版本:…

Windows CMD 关闭,启动程序

Windows CMD 关闭,启动程序 1. Windows 通过 CMD 命令行关闭程序 示例:通过 taskkill 命令关闭 QQ 管家,但是这里有个问题,使用命令行关闭 QQ 管家时,会提示“错误: 无法终止 PID 1400 (属于 PID 22116 子进程)的进程…

ABeam×Startup丨德硕管理咨询(深圳)创新研究团队前往灵境至维·既明科技进行拜访交流

近日,德硕管理咨询(深圳)(以下简称“ABeam-SZ”)创新研究团队一行前往灵境至维既明科技有限公司(以下简称“灵境至维”)进行拜访交流,探讨线上虚拟空间的商业模式。 现场合影 &…

基于灰色神经网络的订单需求预测代码

目录 1 概述 2 代码 3 结果 ​ 1 概述 BP(Back Propagation)神经网络模型是一种信息前向传播,误差反向传播的神经网络模型0,能够通过训练样本反向传播调节网络的阈值和权值,使误差平方最小。 BP神经网络是目前应用最广泛的神经网络模型之一。 灰色人工神经网络模型建模过…

了解华为(H3C)网络设备和OSI模型基本概念

目录 一,认识华为 1.华为发展史 2.华为网络设备介绍 3.VRP概述 二,OSI七层模型 1.七层模型详细表格 2.各层的作用 3.数据在各层之间的传递过程 4.OSI四层网络模型 一,认识华为 官网:https://www.huawei.com/cn/ 1.华为发…

MyBatis快速入门

一、Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Pla…

<Vite>HMR实现原理

什么是HMR? HMR(Hot Module Replacement)是一种开发工具,也就是热更新。用于在应用程序运行时替换、添加或删除模块,而无需完全重新加载整个页面或重新启动应用程序。这可以极大地提高开发效率和调试体验。 HMR的优势 …

vue table动态合并, 自定义合并,参照合并,组合合并

<template><div><el-table:data"tableData":span-method"objectSpanMethod"border:header-cell-style"{ textAlign: center }"><el-table-column prop"area" label"区域" align"center">…