【Python】Pandas常用基础使用案例


落花雨
你飘摇的美丽
花香氤
把往日情勾起
我愿意
化浮萍躺湖心
只陪你
泛岁月的涟漪
                     🎵 许嵩《山水之间》


Pandas是一个强大的Python数据分析工具库,它极大地简化了数据处理和分析的过程。无论你是数据科学初学者还是经验丰富的分析师,了解Pandas的基本用法都是提高工作效率的关键。本篇博客将介绍Pandas的几个核心概念和常用功能。

什么是Pandas?

Pandas是一个开源的Python库,提供了高性能的、易于使用的数据结构和数据分析工具。最核心的数据结构是DataFrame,它是一种表格型的数据结构,可以看作是一个二维数组,但是与数组不同,它可以处理不同类型的数据。

安装和导入

要使用Pandas,首先需要确保它已经安装在你的环境中。安装很简单,只需要运行以下命令:

pip install pandas

安装完成后,你可以在Python脚本或交互式环境中导入Pandas:

import pandas as pd

创建和读取数据

你可以从多种数据源中读取数据到DataFrame中,例如CSV文件、Excel文件、SQL查询结果等。

# 从CSV文件读取数据
df = pd.read_csv('data.csv')# 从Excel文件读取数据
df = pd.read_excel('data.xlsx')# 查看前几行数据
print(df.head())

也可以手动创建DataFrame:

data = {'Name': ['John', 'Anna', 'Peter', 'Linda'],'Age': [28, 22, 34, 29],'City': ['New York', 'Paris', 'Berlin', 'London']}df = pd.DataFrame(data)

数据探索

一旦你有了一个DataFrame,你可以使用多种方法来探索和检查数据:

# 查看数据维度
print(df.shape)# 获取列名
print(df.columns)# 数据统计概览
print(df.describe())# 查看单列数据类型
print(df['Age'].dtype)

数据选择和过滤

Pandas提供了灵活的方法来选择和过滤数据:

# 选择一列
ages = df['Age']# 选择多列
sub_df = df[['Name', 'City']]# 基于条件过滤
older_than_30 = df[df['Age'] > 30]
# 使用loc和iloc选择数据
# loc是基于标签的选择,iloc是基于整数位置的选择
row = df.loc[0]  # 选择第一行
row = df.iloc[0]  # 同上

数据清洗

数据清洗是数据分析中一个重要的步骤。Pandas提供了许多功能来处理缺失值、重复值、字符串操作等。

# 处理缺失值
df.dropna()  # 删除含有缺失值的行
df.fillna(0)  # 用0填充缺失值# 删除重复值
df.drop_duplicates()# 字符串操作
df['Name'] = df['Name'].str.upper()  # 将Name列的字符串转换为大写

数据整理

Pandas能够帮助你整理数据以便于分析:

# 新增列
df['Senior'] = df['Age'] > 60# 分组聚合
grouped = df.groupby('City')
print(grouped.mean())# 数据透视表
pivot = pd.pivot_table(df, values='Age', index='City', aggfunc='mean')
print(pivot)
数据合并
你可能需要将来自不同数据源的数据合并在一起:python
Copy code
# 合并数据框
other_data = {'Name': ['Sara', 'Tom'],'Age': [25, 35],'City': ['Rome', 'Madrid']}other_df = pd.DataFrame(other_data)
combined_df = pd.concat([df, other_df])# 数据连接
df1 = pd.DataFrame({'Key': ['A', 'B', 'C'], 'Value': [1, 2, 3]})
df2 = pd.DataFrame({'Key': ['B', 'C', 'D'], 'Value': [4, 5, 6]})
joined_df = pd.merge(df1, df2, on='Key')

输出数据

最后,你可能需要将处理好的数据输出到文件,以供进一步分析或报告。

# 写入到CSV文件
df.to_csv('processed_data.csv')# 写入到Excel文件
df.to_excel('processed_data.xlsx')

结语

通过上述内容的介绍,我们了解到Pandas是一个非常强大的库,它能够帮助我们以非常高效的方式来处理和分析数据。上手Pandas并不难,但要真正掌握它,则需要不断地实践和探索。

希望这篇博客能够帮助你开始使用Pandas进行数据分析,并激发你探索更多高级功能的兴趣。Happy Data Analyzing!

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

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

相关文章

任务修复实例(3)

Quest entry 24812 Quest name No More Mercy | 不再怜悯 -- Add AIName Field UPDATE world.creature_template SET AIName SmartAI WHERE entry IN (38442,38560,38932); -- Add aura for Zuni INSERT INTO world.creature_template_addon (entry, auras) VALUES (38932…

基于ssm冀中工程技师校园网站设计与实现论文

摘 要 使用旧方法对冀中工程技师学院网站的信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在冀中工程技师学院网站的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。这次…

测试大佬揭秘写好简历的7个细节

简历是HR对候选人的第一印象,一个有经验的HR初筛一份2页A4纸的简历通常只有几十秒的时间,如果没有看到自己想看的东西,哪怕简历再厚很可能会被直接pass掉。 如果有兴趣,再花一两分钟仔细浏览一下候选人的基本情况,研究…

算法3:寻找数组的中心下标

给定一个整数数组 nums,请编写一个能够返回数组“中心下标” 的方法。 中心下标是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心下标,返回-1。如果数组有多个中心下标,应该返回最靠近左边的…

【Python】如何使用Python中的pandas库和scikit-learn库来实现逻辑回归模型

他们说快写一首情歌 雅俗共赏 落笔传神还要容易传唱 上得厅堂也下得厨房 就像我一直在找的姑娘 快写一首情歌雅俗共赏 打完字谜还要接着打榜 如果胡同弄堂全都播放 气韵里居然添了些孤芳自赏 🎵 许嵩《雅俗共赏》 数据准备 在开始建模之前&am…

最新最全的Jmeter接口测试必会技能:jmeter对图片验证码的处理

jmeter对图片验证码的处理 在web端的登录接口经常会有图片验证码的输入,而且每次登录时图片验证码都是随机的;当通过jmeter做接口登录的时候要对图片验证码进行识别出图片中的字段,然后再登录接口中使用; 通过jmeter对图片验证码…

【C语言】——字符串函数的使用与模拟实现(下)

【C语言】——字符串函数的使用与模拟实现(下) 前言五、长度受限类字符串函数5.1、 s t r n c p y strncpy strncpy 函数5.2、 s t r n c a t strncat strncat 函数5.3、 s t r n c m p strncmp strncmp 函数 六、 s t r s t r strstr strstr 函数6.1、函…

vue2知识点1 ———— (vue指令,vue的响应式基础)

vue2的知识点,更多前端知识在主页,还有其他知识会持续更新 Vue 指令 Vue指令是Vue.js中的一个重要概念,用于向DOM元素添加特定行为或功能。Vue指令以v-开头,例如v-bind、v-if、v-for等。 v-bind 动态绑定属性 用法&#xff1a…

跟bug较劲的第n天,undefined === undefined

前情提要 场景复现 看到这张图片,有的同学也许不知道这个冷知识,分享一下,是因为我在开发过程中踩到的坑,花了三小时排查出问题的原因在这,你们说值不值。。。 我分享下我是怎么碰到的这个问题,下面看代码…

大数据:【学习笔记系列】Flink基础架构

Apache Flink 是一个开源的流处理框架,用于处理有界和无界的数据流。Flink 设计用于运行在所有常见的集群环境中,并且能够以高性能和可扩展的方式进行实时数据处理和分析。下面将详细介绍 Flink 的基础架构组件和其工作原理。 1. Flink 架构概览 Flink…

资料总结分享:《全外显子测序数据的流程和原理》

1外显子与测序,生信流程 1.1 外显子是什么? 外显子是基因组中能够转录组出成熟RNA的部分。一个基因组中所有外显子的集合,即为外显子组。值得注意的是,通常所说的全外显子组测序,是指针对蛋白编码基因的外显子&#x…

【RK3568】lt6911驱动采集RGB格式码流

此篇博客用以记录在rk3568下调试lt6911c芯片遇到的视频格式问题以及解决过程(内核版本4.19) 芯片的调试部分可以看RK3568调试lt6911c这篇文章。 问题描述 6911c芯片将HDMI信号转为mipi信号,转化后出来的原始数据格式是YUV422,得到yuv422后,直接送给rk3568编码 编码指令:…

【LeetCode热题100】【回溯】单词搜索

题目链接:79. 单词搜索 - 力扣(LeetCode) 要在一个二维数组里面找到一条单词路径,可以先遍历二维数组找到单词入口,然后往上下左右深度遍历,访问过的元素直接修改成字符串结束符,访问完改回去 …

PyTorch深度学习之旅:从入门到精通的十个关键步骤

在人工智能的浪潮中,深度学习框架扮演着至关重要的角色。PyTorch作为其中的佼佼者,以其简洁、直观和灵活的特性,吸引了众多开发者与研究者。本文将引导您逐步掌握PyTorch,从基础概念到高级应用,让您在深度学习的道路上…

Arduino UNO驱动MPR121接近电容式触摸传感器控制WS2812彩灯

简介 MPR121芯片功能强大可用作触摸,电容检测,驱动LED等等.在低速扫描下可以将功 耗降低到8μA,可以处理多达12个独立的触摸板。支持I2C,几乎可以用任何微控 制器连接。可以使用ADDR引脚选择4个地址中的一个,一个I2C2线总线上共有48 个电容触摸板。使用该芯片比使用模拟输入进行…

哈夫曼编码的实现

哈夫曼编码 在说哈夫曼编码之前,先要讲清楚编码集是什么东西。相信写过代码的人,一定听说过ASCII、 UTF-8、GBK 这些编码集。这些编码集合,本质上都是一个二进制和字符之间映射关系,拿最简单的 ASCII 来说吧,使用 0x3…

刷题DAY56 | LeetCode 583-两个字符串的删除操作 72-编辑距离

583 两个字符串的删除操作(medium) 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 代码实现1(正向思考): class Solution {…

温度对射频电路性能的影响

对于射频电路,通常会有使用温度范围的要求,即在特定的温度范围内其性能变化不超出指标要求的值。对于工业级产品,一般要求使用温度范围为-40℃~+70℃,而军品要求使用温度范围为-55℃~+85℃。有一些其他特殊使用场景的产品会有不同的要求。 不同的温度对电路性能的影响,…

Shell学习 - 2.27 Linux bc命令:一款数学计算器

Bash Shell 内置了对整数运算的支持,但是并不支持浮点运算,而 Linux bc 命令可以很方便的进行浮点运算,当然整数运算也不再话下。 bc是"Basic Calculator"的缩写。 bc 甚至可以称得上是一种编程语言了,它支持变量、数组…

软件设计:UML 模型图总结

1. 相关链接 参考教程: https://sparxsystems.com/resources/tutorials/ https://sparxsystems.com/enterprise_architect_user_guide/15.2/model_domains/whatisuml.html Unified Modeling Language (UML) description, UML diagram examples, tutorials and r…