当前位置: 首页 > article >正文

pandas库详解

CONTENT

  • 基本数据结构
    • Series
    • DataFrame
  • 数据读取与写入
    • 读取 CSV 文件
    • 写入 CSV 文件
  • 数据清洗
    • 处理缺失值
    • 数据类型转换
  • 数据操作
    • 索引与切片
    • 数据合并
    • 数据分组与聚合
  • 数据可视化

基本数据结构

Series

Series 属于一维标记数组,由一组数据和对应的索引构成。

import pandas as pd
# 创建 Series
s = pd.Series([1, 3, 5, 7, 9])
print(s)

DataFrame

DataFrame 是二维表格型数据结构,每列可以是不同的数据类型。

import pandas as pd# 创建 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],'Age': [25, 30, 35]
}
df = pd.DataFrame(data)
print(df)

该代码借助字典创建了一个简单的 DataFrame。

数据读取与写入

读取 CSV 文件

import pandas as pd# 读取 CSV 文件
df = pd.read_csv('data.csv')
df.head()

写入 CSV 文件

import pandas as pd# 创建示例 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],'Age': [25, 30, 35]
}
df = pd.DataFrame(data)# 写入 CSV 文件
df.to_csv('output.csv', index=False)

数据清洗

处理缺失值

import pandas as pd
import numpy as np# 创建包含缺失值的 DataFrame
data = {'A': [1, np.nan, 3],'B': [4, 5, np.nan]
}
df = pd.DataFrame(data)# 删除包含缺失值的行
df_dropna = df.dropna()# 用 0 填充缺失值
df_fillna = df.fillna(0)print("删除缺失值后的 DataFrame:")
print(df_dropna)
print("填充缺失值后的 DataFrame:")
print(df_fillna)

数据类型转换

import pandas as pd# 创建 DataFrame
data = {'A': ['1', '2', '3']
}
df = pd.DataFrame(data)# 将列 A 转换为整数类型
df['A'] = df['A'].astype(int)
print(df.dtypes)

数据操作

索引与切片

import pandas as pd# 创建 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],'Age': [25, 30, 35]
}
df = pd.DataFrame(data)# 按标签索引选取数据
print(df.loc[0, 'Name'])# 按位置索引选取数据
print(df.iloc[0, 1])

数据合并

import pandas as pd# 创建两个 DataFrame
df1 = pd.DataFrame({'ID': [1, 2, 3],'Name': ['Alice', 'Bob', 'Charlie']
})
df2 = pd.DataFrame({'ID': [2, 3, 4],'Age': [25, 30, 35]
})# 按 ID 列合并两个 DataFrame
merged_df = pd.merge(df1, df2, on='ID')
print(merged_df)

数据分组与聚合

import pandas as pd# 创建 DataFrame
data = {'Category': ['A', 'B', 'A', 'B'],'Value': [10, 20, 30, 40]
}
df = pd.DataFrame(data)# 按 Category 列分组并计算每组的平均值
grouped = df.groupby('Category')
mean_values = grouped.mean()
print(mean_values)

数据可视化

import pandas as pd
import matplotlib.pyplot as plt# 创建 DataFrame
data = {'Year': [2010, 2011, 2012, 2013],'Sales': [100, 150, 200, 250]
}
df = pd.DataFrame(data)# 绘制折线图
df.plot(x='Year', y='Sales', kind='line')
plt.show()

相关文章:

pandas库详解

CONTENT 基本数据结构SeriesDataFrame 数据读取与写入读取 CSV 文件写入 CSV 文件 数据清洗处理缺失值数据类型转换 数据操作索引与切片数据合并数据分组与聚合 数据可视化 基本数据结构 Series Series 属于一维标记数组,由一组数据和对应的索引构成。 import pa…...

焊接机器人的设计

一、引言 随着制造业的发展,焊接工艺在各个领域得到广泛应用。焊接机器人具有焊接质量高、效率高、劳动强度低等优点,能够满足现代制造业对焊接生产的要求。设计一款性能优良的焊接机器人,对于提高焊接生产的自动化水平和产品质量具有重要意…...

python进阶: 深入了解调试利器 Pdb

Python是一种广泛使用的编程语言,以其简洁和可读性著称。在开发和调试过程中,遇到错误和问题是不可避免的。Python为此提供了一个强大的调试工具——Pdb(Python Debugger)。 Pdb是Python标准库中自带的调试器,可以帮助…...

4.黑马学习笔记-SpringMVC(P43-P47)

1.SpringMVC简介 SpringMVC技术(更少的代码,简便)与servlet技术功能相同,属于web层开发技术。 SpringMVC是一种基于java实现MVC模型的轻量级web框架。 轻量级指的是(内存占用比较低,运行效率高)…...

【文件操作与IO】详细解析文件操作与IO (一)

本篇博客给大家带来的是文件操作的知识点. 🐎文章专栏: JavaEE初阶 🚀若有问题 评论区见 ❤ 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作的动力 . 王子,公主请阅🚀 要开心要快乐顺便进步 一. …...

PMP考试费能报销吗?报销流程是什么?

最近也是到了6月和8月PMP考试的报名高峰期,后台有小伙伴最常问的问题就是,PMP考试费比较贵,能不能报销?报销流程是什么? 先给大家分享一下最新PMP报名消息和考试信息: 添加图片注释,不超过 140…...

机器学习05-CNN

CNN(卷积神经网络)学习文档 一、引言 卷积神经网络(Convolutional Neural Network,CNN)是深度学习中的一种重要网络结构,在图像识别、计算机视觉等领域取得了巨大成功。CNN 的设计灵感来源于生物视觉系统…...

c++ string构造函数和assign函数

c string构造函数和assign函数 #include <iostream> #include <stdlib.h> #include <string> #include <string.h>int main() {char buff[10] {a,b,c,d,e,f,g,h,i,\0};std::string str1;str1.assign(&buff[0],0,10);int length str1.length();i…...

学习threejs,使用EffectComposer后期处理组合器(采用RenderPass、GlitchPass渲染通道)

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️THREE.EffectComposer 后期…...

物联网通信协议——TCP与MQTT的对比

在物联网通信中&#xff0c;MQTT和TCP的实现方式和原理完全不同&#xff0c;因为两者属于协议栈的不同层级&#xff0c;解决的问题也不同。以下从协议层级、工作机制和典型场景三个角度详细解释&#xff1a; 1. 协议层级与定位 特性TCPMQTT协议层级传输层&#xff08;第4层&am…...

docker部署springboot(eureka server)项目

打jar包 使用maven&#xff1a; <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>17</source><target>17&…...

第 7 期:DDPM 采样提速方案:从 DDPM 到 DDIM

本期关键词:采样加速、DDIM 推导、可控性提升、伪逆过程、代码实战 前情回顾:DDPM 的采样瓶颈 在前几期中,我们构建了一个完整的 DDPM 生成流程。但是你可能已经发现: 生成一张图像太慢了!!! 原因是: DDPM 要在 T 个时间步中一步步地去噪,从 x_T → x_0。而通常 T 至…...

1panel第三方应用商店(本地商店)配置和使用

文章目录 引言资源网站实战操作说明 引言 1Panel 提供了一个应用提交开发环境&#xff0c;开发者可以通过提交应用的方式将自己的应用推送到 1Panel 的应用商店中&#xff0c;供其他用户使用。由此衍生了一种本地应用商店的概念&#xff0c;用户可以自行编写应用配置并上传到自…...

Docker Image export and load and tag

# 在国外服务器保存Docker镜像 docker save myimage > myimage.tar # 将tar文件传输到国内服务器 scp myimage.tar root192.0.2.0:/home # 在国内服务器加载Docker镜像 cd /home docker load < myimage.tar # 查看镜像 docker images #docker 镜像名 tag 为none 的解决方…...

七牛使用任务工作流对音频进行转码

最近工作中有对音频转码的需求&#xff0c;比如 iOS 设备中对 ogg 格式的语音支持力度不够&#xff0c;那么可以讲ogg转码成mp3格式,下面来介绍一下&#xff0c;如果通过七牛&#xff0c;后端自行转码&#xff0c;不需要前端做任何事情。 假设我们存在一个音频的 url&#xff…...

Excel提取图片并自动上传到文件服务器(OOS),获取文件链接

Excel提取图片并自动上传到接口 在实际项目中&#xff0c;我们可能经常会遇到需要批量从Excel文件&#xff08;.xlsx&#xff09;中提取图片并上传到特定接口的场景。今天&#xff0c;我就详细介绍一下如何使用Python实现这一功能&#xff0c;本文会手把手教你搭建一个完整的解…...

基于springBoot+vue的PC 端学习系统(源码+lw+部署文档+讲解),源码可白嫖!

摘要 随着我国经济的高速发展与人们生活水平的日益提高&#xff0c;人们对生活质量的追求也多种多样。尤其在人们生活节奏不断加快的当下&#xff0c;人们更趋向于足不出户解决生活上的问题&#xff0c;线上管理系统展现了其蓬勃生命力和广阔的前景。与此同时&#xff0c;在疫…...

JVM对象创建全过程

JVM对象创建全过程深度解析 1. 对象创建的整体流程 JVM创建对象的过程可以分为7个关键步骤&#xff0c;从类检查到内存分配&#xff0c;再到对象初始化&#xff1a; 类加载检查 → 内存分配 → 内存空间初始化 → 对象头设置 → 构造函数执行 → 栈帧引用建立 → 对象使用2.…...

Spring Boot 核心注解全解:@SpringBootApplication背后的三剑客

大家好呀&#xff01;&#x1f44b; 今天我们要聊一个超级重要的Spring Boot话题 - 那个神奇的主类注解SpringBootApplication&#xff01;很多小伙伴可能每天都在用Spring Boot开发项目&#xff0c;但你真的了解这个注解背后的秘密吗&#xff1f;&#x1f914; 别担心&#x…...

【Python爬虫基础篇】--1.基础概念

目录 1.爬虫--定义 2.爬虫--组成 3.爬虫--URL 1.爬虫--定义 网络爬虫&#xff0c;是一种按照一定规则&#xff0c;自动抓取互联网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。随着网络的迅速发展&#xff0c;万维网成为大量信息的载体…...

CSS进度条带斑马纹动画(有效果图)

效果图 .wxml <view class"tb"><view class"tb-line" style"transform:translateX({{w%}})" /> </view> <button bind:tap"updateLine">增加进度</button>.js Page({data: {w:0,},updateLine(){this.…...

文件二进制读写和文本读写以及编码解码

假如是utf8编码&#xff0c;windows系统 写&#xff1a;往键盘中写的字符会被utf8编码成字节写入文件。假如是文本写&#xff0c;\n会被替换为\r\n写入&#xff0c;结尾会加文件结束符EOF。假如是二进制写&#xff0c;\n就是\n&#xff0c;文件结尾也不会加什么EOF 读&#xff…...

HarmonyOS:使用Refresh组件实现页面下拉刷新上拉加载更多

一、前言 可以进行页面下拉操作并显示刷新动效的容器组件。 说明 该组件从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。该组件从API Version 12开始支持与垂直滚动的Swiper和Web的联动。当Swiper设置loop属性为true时&…...

获取印度股票市场列表、查询IPO信息以及通过WebSocket实时接收数据

为了对接印度股票市场&#xff0c;获取市场列表、查询IPO信息、查看涨跌排行榜以及通过WebSocket实时接收数据等步骤。 1. 获取市场列表 首先&#xff0c;您需要获取支持的市场列表&#xff0c;这有助于了解哪些市场可以交易或监控。 请求方法&#xff1a;GETURL&#xff1a…...

【C++深入系列】:模版详解(上)

&#x1f525; 本文专栏&#xff1a;c &#x1f338;作者主页&#xff1a;努力努力再努力wz &#x1f4aa; 今日博客励志语录&#xff1a; 你不需要很厉害才能开始&#xff0c;但你需要开始才能很厉害。 ★★★ 本文前置知识&#xff1a; 类和对象&#xff08;上&#xff09; …...

leetcode刷题日记——同构字符串

[ 题目描述 ]&#xff1a; [ 思路 ]&#xff1a; 题目要求判断 s 和 t 是否为同构字符串&#xff0c;即 s 中每个字符与 t 中对应位置的字符形成一个映射关系&#xff0c;且只能是一对一映射ASCII&#xff08;American Standard Code for Information Interchange&#xff09…...

HTTP/1.1 队头堵塞问题

文章目录 一、队头堵塞1、非管线化2、管线化 二、如何解决&#xff1f; 一、队头堵塞 1、非管线化 如图&#xff0c;http 请求必须等到上一个请求响应后才能发送&#xff0c;后面的以此类推&#xff0c;由此可以看出&#xff0c;在一个 tcp 通道中&#xff0c;如果某个 http 请…...

【Quest开发】在虚拟世界设置具有遮挡关系的透视窗口

软件&#xff1a;Unity 2022.3.51f1c1、vscode、Meta XR All in One SDK V72 硬件&#xff1a;Meta Quest3 仅针对urp管线 参考了YY老师这篇&#xff0c;可以先看他的再看这个可能更好理解一些&#xff1a;Unity Meta Quest MR 开发&#xff08;七&#xff09;&#xff1a;使…...

Qt界面卡住变慢的解决方法

本质原因: 当Qt界面出现卡顿或无响应时&#xff0c;通常是因为主线程&#xff08;GUI线程&#xff09;被耗时操作阻塞。 完全忘了。。。 Qt Creater解决方法 1. 定位耗时操作 目标&#xff1a;找到阻塞主线程的代码段。 方法&#xff1a; 使用QElapsedTimer测量代码执行时间…...

常用 Git 命令详解

Git 是一个强大的版本控制工具&#xff0c;广泛用于软件开发和团队协作中。掌握 Git 命令可以帮助开发者更高效地管理代码版本和项目进度。本文将介绍一些常用的 Git 命令&#xff0c;并提供示例以帮助你更好地理解和应用这些命令。 目录 常用命令 git clonegit stashgit pul…...