上机练习 8: DataFrame 综合练习

记录一下做的练习题

目录

1)自定义一个 Series 并命名为 s1,自定义索引值,采用随机数作为其中数据尝试使用 s1.sum(计算其中所有数据的和,使用 s.mean(计算其中所有数据的平均值。

2)创建一个形状为4*6的 DataFrame 并命名为 df1,并指定行索引为[“a”,“b”,“c”,"d"]、列索引为[“A",“B”,“C”,“D”,“E”,“F”],元素的取值为 1-100 之间的随机数。

3)对 df1 中的数据进行过滤,删除"B"列中不大于 70 的元素所在的行。

4) 以列表的形式输出 df1 各列中元素的平均值。

5) 以列表的形式输出 df1 各行中元素的和。

6) 自定义函数 df extend()实现如下功能: 传入一个 DataFrame,该函数会在该 DataFrame 中添加一列,列索引为“SUM”,其中的元素为各列元素的和。然后再添加一行,行索引为“MEAN”,其中的元素为各列元素的平均值。

7)自定义数 max three()实现如下功能: 传入一个 DataFrame,该函数会以列表的方式返回该 DataFrame 中最大的三个元素的坐标;(用元组表示坐标,例如:[(2,4),(3,6),(1,5)] 。

import numpy as np
import pandas as pd

1)自定义一个 Series 并命名为 s1,自定义索引值,采用随机数作为其中数据尝试使用 s1.sum(计算其中所有数据的和,使用 s.mean(计算其中所有数据的平均值。

#(1)
data = np.random.RandomState(16).randint(0,100,16)
index = range(1,17)
s1 = pd.Series(data=data,index=index)
print(s1)
print(s1.sum())
print(s1.mean())

2)创建一个形状为4*6的 DataFrame 并命名为 df1,并指定行索引为[“a”,“b”,“c”,"d"]、列索引为[“A",“B”,“C”,“D”,“E”,“F”],元素的取值为 1-100 之间的随机数。

#(2)
data1 = np.random.RandomState(16).randint(0,100,24)
df1 = pd.DataFrame(data=data1.reshape(4,6),index=["a","b","c","d"],columns=["A","B","C","D","E","F"])
print(df1)

3)对 df1 中的数据进行过滤,删除"B"列中不大于 70 的元素所在的行。

#(3)
df2 = df1.drop([i for i in df1[df1.B <= 70].index],axis=0)
print(df2)

4) 以列表的形式输出 df1 各列中元素的平均值。

5) 以列表的形式输出 df1 各行中元素的和。

#(4)
list_1 = []
for lie in df1.columns:
    list_1.append(df1.loc[:,lie].mean())
print(list_1)

#(5)
list_2 = []
for hang in df1.index:
    list_2.append(df1.loc[hang].sum())
print(list_2)

6) 自定义函数 df extend()实现如下功能: 传入一个 DataFrame,该函数会在该 DataFrame 中添加一列,列索引为“SUM”,其中的元素为各列元素的和。然后再添加一行,行索引为“MEAN”,其中的元素为各列元素的平均值。

#(6)
def df_extend(df1):
    sum_lie = 0
    for lie in df1.columns:
        sum_lie = sum_lie + df1.loc[:,lie].sum() 
    df1.insert(loc=0,column="SUM",value=sum_lie)

    mean_hang = 0
    for hang in df1.index:
        mean_hang = mean_hang + df1.loc[hang].mean()
    df1.loc[4] = mean_hang
    print(df1)

df_extend(df1)

7)自定义数 max three()实现如下功能: 传入一个 DataFrame,该函数会以列表的方式返回该 DataFrame 中最大的三个元素的坐标;(用元组表示坐标,例如:[(2,4),(3,6),(1,5)] 。

#(7)
def max_three(df1):
    list_value = []
    list_position = []
    for lie in df1.columns:
        for hang in df1.index:
            list_value.append(df1[lie][hang])
            list_position.append((hang,lie))
            dic = {k:v for k, v in zip(list_position, list_value)}

    list_value.sort(reverse=True)
    position_keys = [key for key, value in dic.items() if value in list_value[:3]]
    if len(position_keys) >= 3:
        position_keys = position_keys[:3]
    print(position_keys)

max_three(df1)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux服务器安装Dotnet8

1. 下载dotnet8 sdk 下载 .NET 8.0 SDK (v8.0.100) - Linux x64 Binaries 拿到 dotnet-sdk-8.0.100-linux-x64.tar.gz 文件 2. 把文件上传到 /usr/local/software 目录 mkdir -p /usr/local/software/dotnet8 把文件拷贝过去 mv dotnet-sdk-8.0.100-linux-x64.tar.gz /usr/loc…

Python 如何实现 Mediator 中介者设计模式?什么是中介者设计模式?Python 设计模式示例代码

什么是中介者设计模式&#xff1f; 中介者&#xff08;Mediator&#xff09;设计模式是一种行为型设计模式&#xff0c;其主要目的是通过将对象之间的直接交互转变为通过中介者对象进行的间接交互&#xff0c;从而减少对象之间的耦合度。中介者模式通过集中控制对象之间的通信…

golang学习笔记——递归函数

递归函数 递归&#xff0c;就是在运行的过程中调用自己。 语法格式如下&#xff1a; func recursion() {recursion() /* 函数调用自身 */ }func main() {recursion() }阶乘 阶乘最初的定义就是小于等于某个正整数的所有正整数的乘积&#xff0c;5 的阶乘&#xff08;记作 5!…

我所理解的 UI Toolkit 启蒙阶段(一)

我所理解的 UI Toolkit 启蒙阶段&#xff08;一&#xff09; 对于自己不会的新东西的学习&#xff0c;我认为最合适的路径就是&#xff1a; 实例教学视频 —> 实操熟悉 —> 官方文档查漏补缺 —> 拟定思路实现功能 但这 4 步并非每一步都需要下 100% 的功夫&#x…

三菱FX3U小项目—传输带定分级控制

目录 一、项目描述 二、IO口分配 三、项目程序 四、总结 一、项目描述 两条运输带顺序相连&#xff0c;为了避免运送的物料在1号运输线上堆积&#xff0c;所以启动时&#xff0c;1号运输带开始运行&#xff0c;5S后2号运输带自动启动。停机时顺序与启动刚好相反&#xff0c…

什么是智慧仓储?

“关于智慧仓储&#xff0c;有的说是AGV&#xff0c;有的说是自动化立库&#xff0c;还有的WMS厂家也说自己的系统是智慧仓储&#xff0c;到底什么是智慧仓储&#xff1f;” 先一句话总结一下智慧仓储—— 智慧仓储是指利用先进的信息技术和物联网技术对仓储管理进行优化和智能…

游戏工作中用到的一些第3方软件和作用

记录下平时工作中发现的一些好用的软件: Snipaste:截屏软件 最好用的功能就是可以将截的图留在屏幕上,用来做提醒或者对比. RenderDoc:图形调试器 图形图像开\分析和捕捉时要用到的强大工具,可以捕捉图形帧并分析和调试.涵盖Vulkan,D3D11,D3D12.OpenGL,OpenGL ES以及windows …

postman查询数据库-Xmysql

步骤1&#xff1a;安装node.js 下载地址:Download | Node.js步骤2&#xff1a;安装Xmysql工具&#xff0c;命令行输入 npm install -g xmysql &#xff0c;过程中会自动安装相关依赖&#xff1b;步骤3&#xff1a;连接数据库 xmysql -h ip -u 账号 -p 密码 -d 库名 如下表示连…

期刊会议的选择

目录 找到所有⽬标期刊定具体期刊 找到所有⽬标期刊 定具体期刊

用Python做安全测试攻击实战

在本文中&#xff0c;我们将使用Python进行一次安全测试的实战演练&#xff0c;目标是找出并利用应用程序的安全漏洞。请注意&#xff0c;这个演练仅用于教育和研究目的&#xff0c;切勿将这些技术用于非法活动。 注意&#xff1a;未经授权的攻击是违法的。确保你在拥有明确权…

Redis数据的持久化

Redis的持久化有两种方式&#xff1a; RDB&#xff08;Redis Database&#xff09;和AOF&#xff08;Append Only File&#xff09; 目录 一、RDB 保存方式 2、rdb在redis.conf文件中的配置 二、AOF 1、保存方式 2、aof方式持久化在redis.conf文件中的配置 三、持久化建…

JAXB的XmlElement注解

依赖 如果基于JAX-WS开发&#xff0c;可以在maven工程的pom.xml文件中增加如下依赖&#xff0c;会将依赖的JAXB库也下载下来&#xff1a; <dependency><groupId>jakarta.xml.ws</groupId><artifactId>jakarta.xml.ws-api</artifactId><vers…

Kafka学习笔记(三)

目录 第5章 Kafka监控&#xff08;Kafka Eagle&#xff09;5.2 修改kafka启动命令5.2 上传压缩包5.3 解压到本地5.4 进入刚才解压的目录5.5 将kafka-eagle-web-1.3.7-bin.tar.gz解压至/opt/module5.6 修改名称5.7 给启动文件执行权限5.8 修改配置文件5.9 添加环境变量5.10 启动…

一文带你了解docker技术

什么是Docker Docker是一种虚拟技术&#xff0c;诞生于2013年&#xff0c;是dotCloud公司研发的开源项目&#xff0c;因为docker这个公司后来改名docker inc&#xff0c;docker的目标是实现轻量级的操作系统虚拟化解决方案。通俗点说&#xff0c;我们想在一台机器上运行多个系…

卫士之选:迅软DSE解决方案助力IT企业应对数据泄密威胁!

随着信息技术的迅猛发展&#xff0c;软件IT行业正面临着前所未有的数据安全挑战。病毒传播、内部泄密等安全威胁不断涌现&#xff0c;对企业的重要资产和运营造成了严重威胁。与此同时&#xff0c;国家对数据安全的法律法规日益严格&#xff0c;要求企业采取更加有效的措施来保…

Python大数据之linux学习总结——day09_hive函数

hive函数 函数分类标准[重点] 知识点: 原生分类标准: 内置函数 和 用户定义函数(UDF,UDAF,UDTF)分类标准扩大化: 本来&#xff0c;UDF 、UDAF、UDTF这3个标准是针对用户自定义函数分类的&#xff1b; 但是&#xff0c;现在可以将这个分类标准扩大到hive中所有的函数&#…

基于vue-tianditu实现瓦片数据层添加

效果 瓦片TileJson 包下载 pnpm add vue-tianditu main.ts import VueTianditu from "vue-tianditu"; const app createApp(App); app.use(VueTianditu, { v: "4.0", //目前只支持4.0版本 tk: "0b58ed11713850170e0d643e06be225e", }); 拿到瓦…

Spring3新特性:graalvm打包Springboot+Mybatis

Spring3新特性 graalvm打包SpringbootMybatis 项目源代码 https://github.com/cmdch2017/SpringNative_Graalvm_Mybatis 如何安装与运行 安装graalvm与配置环境 首先安装步骤参考这篇博客 https://blog.csdn.net/weixin_38943666/article/details/129505945 其次如何处理…

Linux下非root用户安装CUDA

目录 前言 参考链接 步骤 一. 首先&#xff0c;需要查看系统版本&#xff1a; 二. 安装包下载。 下载CUDA&#xff1a; cuDNN下载 三. 开始安装CUDA和cuDNN 安装CUDA 修改环境变量 安装 cuDNN 查看是否安装成功&#xff0c;输入nvcc -V 前言 由于一些代码实现&…

02-3解析BeautifulSoup

一、基本简介 BeautifulSoup简称&#xff1a;bs4什么是BeatifulSoup&#xff1f;  BeautifulSoup&#xff0c;和lxml一样&#xff0c;是一个html的解析器&#xff0c;主要功能也是解析和提取数据优缺点&#xff1f;  缺点&#xff1a;效率没有lxml的效率高  优点&#xff1…