您当前的位置:首页 > 电脑百科 > 数据库 > 百科

数据处理利器:Pandas带你游刃有余操控结构化数据

时间:2023-06-10 15:54:23  来源:今日头条  作者:树言树语Tree

当谈到数据处理和分析时,Pandas 是一个非常受欢迎的 Python/ target=_blank class=infotextkey>Python 库。它提供了高效且灵活的数据结构和数据操作工具,特别适用于处理和分析结构化数据。在本次讲解中,我将为您详细介绍 Pandas 的各个方面,包括数据结构、数据读取与写入、数据选择与过滤、数据操作与转换以及数据聚合与分组等。

1. 数据结构

Pandas 主要提供了两种重要的数据结构:Series 和 DataFrame。

Series 是一维标记数组,类似于带有标签的 NumPy 数组。每个 Series 包含一个数据数组和一个与之相关的索引数组。创建 Series 的方式包括直接传入数组、字典或标量等。

DataFrame 是一个二维表格数据结构,可以看作是由多个 Series 组成的字典。它具有行索引和列索引,可以用于处理结构化的表格数据。DataFrame 可以通过传入字典、NumPy 数组、CSV 文件等方式进行创建。

2. 数据读取与写入

Pandas 提供了多种方法来读取和写入不同格式的数据,如 CSV、Excel、SQL 数据库等。常用的读取方法包括 read_csv()、read_excel()、read_sql() 等,而写入方法包括 to_csv()、to_excel()、to_sql() 等。

读取数据的示例:

import pandas as pd

# 从 CSV 文件读取数据
data = pd.read_csv('data.csv')

# 从 Excel 文件读取数据
data = pd.read_excel('data.xlsx')

# 从 SQL 数据库读取数据
import sqlite3
conn = sqlite3.connect('database.db')
data = pd.read_sql('SELECT * FROM table', conn)

3. 数据选择与过滤

Pandas 提供了多种方式来选择和过滤数据,以满足不同的需求。

选择列:使用 DataFrame 的列名称或索引来选择单列或多列数据。

# 选择单列
column = df['column_name']

# 选择多列
columns = df[['column_name1', 'column_name2']]

选择行:使用切片、布尔索引或条件表达式来选择满足特定条件的行。

# 使用切片选择行
rows = df[start:end]

# 使用布尔索引选择行
rows = df[boolean_expression]

# 使用条件表达式选择行
rows = df[df['column_name'] > 10]

选择单元格:使用 .loc[row_index, column_index] 或 .iloc[row_index, column_index] 来选择单个单元格的值。

# 使用标签索引选择单元格
value = df.loc[row_label, column_label]

# 使用整数索引选择单元格
value = df.iloc[row_index, column_index]

4. 数据操作与转换

Pandas 提供了各种数据操作和转换方法,可以对数据进行处理、清洗和转换。

数据排序:使用 sort_values() 方法按照指定的列对数据进行排序。

# 按照单列排序
sorted_data = df.sort_values('column_name')

# 按照多列排序
sorted_data = df.sort_values(['column_name1', 'column_name2'])

缺失值处理:使用 isnull()、notnull() 和 dropna() 方法来处理缺失值。

# 检查缺失值
null_values = df.isnull()

# 删除包含缺失值的行
clean_data = df.dropna()

# 填充缺失值
filled_data = df.fillna(value)

数据转换:使用 Apply()、map() 和 replace() 方法对数据进行转换和替换。

# 对列应用函数
df['new_column'] = df['column'].apply(function)

# 使用字典映射替换值
df['column'] = df['column'].map(mapping_dict)

# 替换指定值
df['column'] = df['column'].replace(old_value, new_value)

5. 数据聚合与分组

Pandas 具备强大的数据聚合和分组功能,可以对数据进行汇总和分析。

聚合函数:Pandas 提供了许多常用的聚合函数,如 sum()、mean()、count()、max()、min() 等,可以对数据进行求和、平均值、计数、最大值和最小值等操作。

# 对列进行求和
sum_value = df['column'].sum()

# 对列进行平均值计算
mean_value = df['column'].mean()

# 对列进行计数
count_value = df['column'].count()

# 对列进行最大值和最小值计算
max_value = df['column'].max()
min_value = df['column'].min()

分组操作:使用 groupby() 方法对数据进行分组操作,并应用相应的聚合函数。

# 按照列进行分组并求和
grouped_data = df.groupby('column').sum()

# 按照多列进行分组并求平均值
grouped_data = df.groupby(['column1', 'column2']).mean()

# 对多列应用多个聚合函数
grouped_data = df.groupby('column').agg({'column1': 'sum', 'column2': 'mean'})

以上是对 Pandas 的一个详细讲解,涵盖了数据结构、数据读取与写入、数据选择与过滤、数据操作与转换以及数据聚合与分组等方面。Pandas 是一个非常强大和灵活的数据处理工具,在数据分析和数据科学领域广泛应用。希望这个讲解对您有所帮助!如有任何疑问,请随时提问。



Tags:Pandas   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
让你的Pandas代码快得离谱的两个技巧
如果你曾经使用过Pandas处理表格数据,你可能会熟悉导入数据、清洗和转换的过程,然后将其用作模型的输入。然而,当你需要扩展和将代码投入生产时,你的Pandas管道很可能开始崩溃并...【详细内容】
2024-01-19  Search: Pandas  点击:(78)  评论:(0)  加入收藏
Pandas的魅力:从数据处理到机器学习
Part 01、 Series和DataFrame:Pandas的核心Pandas的两个主要数据结构是Series和DataFrame。Series是一维标记数组,类似于Python中的列表。而DataFrame是二维标记数据结构,类似...【详细内容】
2023-12-18  Search: Pandas  点击:(126)  评论:(0)  加入收藏
Python 数据处理,Pandas 使用方式的变局
前段时间在公司技术分享会上,同事介绍了目前市面上关于自动生成 pandas 代码的工具库。我们也尝试把这些工具库引入到工作流程中。经过一段时间的实践,最终还是觉得不适合,不再...【详细内容】
2023-12-12  Search: Pandas  点击:(156)  评论:(0)  加入收藏
一个闪电般快速的 DataFrame 处理库,完美替代 Pandas
众所周知,SQL和Pandas是数据科学领域常用工具,精通这两大工具对数据科学家来说极有价值。而最近,又有一个新的工具库——「Polars」也开始受到青睐。Polars简介Polar...【详细内容】
2023-12-11  Search: Pandas  点击:(155)  评论:(0)  加入收藏
四个解决特定的任务的Pandas高效代码
在本文中,我将分享4个在一行代码中完成的Pandas操作。这些操作可以有效地解决特定的任务,并以一种好的方式给出结果。从列表中创建字典我有一份商品清单,我想看看它们的分布情...【详细内容】
2023-12-06  Search: Pandas  点击:(176)  评论:(0)  加入收藏
Python Pandas数据预处理:你知道数据标准化吗?
数据预处理包括以下几个方面: 缺失值处理 数据格式化 数据规范化 数据标准化 数据分箱(分组)标准化经常容易与规范化混淆,但它们指的是不同的东西。规范化涉及将不同比例的度量...【详细内容】
2023-11-27  Search: Pandas  点击:(147)  评论:(0)  加入收藏
如何用Python的pandas库函数重命名列名
题目DataFrame students+-------------+--------+| Column Name | Type |+-------------+--------+| id | int || first | object || last | ob...【详细内容】
2023-10-31  Search: Pandas  点击:(304)  评论:(0)  加入收藏
Python数据分析库 Pandas,数据处理与分析的得力助手!
Python的Pandas库(Python Data Analysis Library)是数据科学家和分析师的得力助手,它提供了强大的数据处理和分析工具,使得数据的导入、清洗、转换和分析变得更加高效和便捷。本...【详细内容】
2023-10-20  Search: Pandas  点击:(130)  评论:(0)  加入收藏
使用Pandas进行时间重采样,充分挖掘数据价值
一、简介时间序列数据蕴含着很大价值,通过重采样技术可以提升原始数据的表现形式。无论你是数据科学家、分析师,还是对数据挖掘感兴趣,都可以从本文学习方法和工具,提升数据可视...【详细内容】
2023-10-17  Search: Pandas  点击:(315)  评论:(0)  加入收藏
向量化操作简介和Pandas、Numpy示例
Pandas是一种流行的用于数据操作的Python库,它提供了一种称为“向量化”的强大技术可以有效地将操作应用于整个列或数据系列,从而消除了显式循环的需要。在本文中,我们将探讨什...【详细内容】
2023-10-16  Search: Pandas  点击:(263)  评论:(0)  加入收藏
▌简易百科推荐
向量数据库落地实践
本文基于京东内部向量数据库vearch进行实践。Vearch 是对大规模深度学习向量进行高性能相似搜索的弹性分布式系统。详见: https://github.com/vearch/zh_docs/blob/v3.3.X/do...【详细内容】
2024-04-03  京东云开发者    Tags:向量数据库   点击:(4)  评论:(0)  加入收藏
原来 SQL 函数是可以内联的!
介绍在某些情况下,SQL 函数(即指定LANGUAGE SQL)会将其函数体内联到调用它的查询中,而不是直接调用。这可以带来显著的性能提升,因为函数体可以暴露给调用查询的规划器,从而规划器...【详细内容】
2024-04-03  红石PG  微信公众号  Tags:SQL 函数   点击:(3)  评论:(0)  加入收藏
如何正确选择NoSQL数据库
译者 | 陈峻审校 | 重楼Allied Market Research最近发布的一份报告指出,业界对于NoSQL数据库的需求正在持续上升。2022年,全球NoSQL市场的销售额已达73亿美元,预计到2032年将达...【详细内容】
2024-03-28    51CTO  Tags:NoSQL   点击:(13)  评论:(0)  加入收藏
为什么数据库连接池不采用 IO 多路复用?
这是一个非常好的问题。IO多路复用被视为是非常好的性能助力器。但是一般我们在使用DB时,还是经常性采用c3p0,tomcat connection pool等技术来与DB连接,哪怕整个程序已经变成以...【详细内容】
2024-03-27  dbaplus社群    Tags:数据库连接池   点击:(12)  评论:(0)  加入收藏
八个常见的数据可视化错误以及如何避免它们
在当今以数据驱动为主导的世界里,清晰且具有洞察力的数据可视化至关重要。然而,在创建数据可视化时很容易犯错误,这可能导致对数据的错误解读。本文将探讨一些常见的糟糕数据可...【详细内容】
2024-03-26  DeepHub IMBA  微信公众号  Tags:数据可视化   点击:(6)  评论:(0)  加入收藏
到底有没有必要分库分表,如何考量的
关于是否需要进行分库分表,可以根据以下考量因素来决定: 数据量和负载:如果数据量巨大且负载压力较大,单一库单一表可能无法满足性能需求,考虑分库分表。 数据增长:预估数据增长...【详细内容】
2024-03-20  码上遇见你  微信公众号  Tags:分库分表   点击:(13)  评论:(0)  加入收藏
在 SQL 中写了 in 和 not in,技术总监说要炒了我……
WHY?IN 和 NOT IN 是比较常用的关键字,为什么要尽量避免呢?1、效率低项目中遇到这么个情况:t1表 和 t2表 都是150w条数据,600M的样子,都不算大。但是这样一句查询 ↓select *...【详细内容】
2024-03-18  dbaplus社群    Tags:SQL   点击:(5)  评论:(0)  加入收藏
应对慢SQL的致胜法宝:7大实例剖析+优化原则
大促备战,最大的隐患项之一就是慢SQL,对于服务平稳运行带来的破坏性最大,也是日常工作中经常带来整个应用抖动的最大隐患,在日常开发中如何避免出现慢SQL,出现了慢SQL应该按照什...【详细内容】
2024-03-14  京东云开发者    Tags:慢SQL   点击:(4)  评论:(0)  加入收藏
过去一年,我看到了数据库领域的十大发展趋势
作者 | 朱洁策划 | 李冬梅过去一年,行业信心跌至冰点2022 年中,红衫的一篇《适应与忍耐》的报告,对公司经营提出了预警,让各个公司保持现金流,重整团队,想办法增加盈利。这篇报告...【详细内容】
2024-03-12    InfoQ  Tags:数据库   点击:(25)  评论:(0)  加入收藏
SQL优化的七个方法,你会哪个?
一、插入数据优化 普通插入:在平时我们执行insert语句的时候,可能都是一条一条数据插入进去的,就像下面这样。INSERT INTO `department` VALUES(1, '研发部(RD)', &#39...【详细内容】
2024-03-07  程序员恰恰  微信公众号  Tags:SQL优化   点击:(19)  评论:(0)  加入收藏
站内最新
站内热门
站内头条