《Pandas 简易速速上手小册》第4章:Pandas 数据探索与处理(2024 最新版)

简介: 《Pandas 简易速速上手小册》第4章:Pandas 数据探索与处理(2024 最新版)

c8d8ed47f9a1368db458c1960ee26c7.png

4.1 选择和过滤数据

选择和过滤数据是数据分析中的基本技巧,让我们深入了解如何在 Pandas 中执行这些操作。

4.1.1 基础知识

  1. 选择列: 使用列名来选择数据,例如 df['column_name']
  2. 选择行: 使用条件语句过滤行,例如 df[df['column_name'] > value]
  3. 使用 lociloc: loc 用于基于标签的选择,而 iloc 用于基于整数位置的选择。

4.1.2 重点案例:电影评分数据分析

假设你有一份电影评分的数据集,需要根据不同的条件选择和过滤数据。

数据准备

import pandas as pd
# 示例电影评分数据
data = {
    'movie_id': [1, 2, 3, 4, 5],
    'title': ['Movie A', 'Movie B', 'Movie C', 'Movie D', 'Movie E'],
    'rating': [8.5, 7.0, 9.0, 6.5, 7.5]
}
movies_df = pd.DataFrame(data)

选择和过滤数据

# 选择评分高于8的电影
high_rating_movies = movies_df[movies_df['rating'] > 8]
# 使用 loc 选择特定列
title_ratings = movies_df.loc[:, ['title', 'rating']]

4.1.3 拓展案例一:股市数据筛选

处理一份股市数据,筛选出特定条件下的股票。

数据准备

# 示例股市数据
stock_data = {
    'stock_id': ['S1', 'S2', 'S3', 'S4'],
    'price': [100, 150, 90, 120],
    'volume': [300, 200, 500, 100]
}
stocks_df = pd.DataFrame(stock_data)

数据筛选

# 选择价格低于120的股票
low_price_stocks = stocks_df[stocks_df['price'] < 120]

4.1.4 拓展案例二:客户订单数据查询

假设你正在处理一份客户订单的数据集,需要根据客户ID和订单量进行筛选。

数据准备

# 示例客户订单数据
order_data = {
    'order_id': [101, 102, 103, 104],
    'customer_id': [1, 2, 2, 1],
    'quantity': [3, 4, 5, 2]
}
orders_df = pd.DataFrame(order_data)

数据查询

# 选择特定客户的订单
customer_orders = orders_df[orders_df['customer_id'] == 2]
# 使用 iloc 选择前两行
first_two_orders = orders_df.iloc[:2]

通过这些案例,我们演示了如何在 Pandas 中选择和过滤数据。无论是电影评分、股市数据还是客户订单,掌握这些技巧可以帮助你更有效地对数据进行分析。


4.2 数据排序和排名

在数据分析中,能够有效地对数据进行排序和排名是非常重要的。这不仅帮助我们快速找到重要信息,还能揭示数据的潜在模式。

4.2.1 基础知识

  1. 排序数据: 使用 sort_values() 方法根据一列或多列的值对数据进行排序。
  2. 排名数据: 使用 rank() 方法为每行分配一个排名。
  3. 降序排序: 通过设置 ascending=False,可以进行降序排序。

4.2.2 重点案例:销售业绩排名

假设你有一份销售员的销售业绩数据,需要对其进行排序和排名。

数据准备

import pandas as pd
# 示例销售业绩数据
sales_data = {
    'salesperson': ['Alice', 'Bob', 'Charlie', 'David'],
    'sales': [200, 150, 300, 250]
}
sales_df = pd.DataFrame(sales_data)

排序和排名

# 根据销售额排序
sorted_sales_df = sales_df.sort_values(by='sales', ascending=False)
# 为销售员排名
sorted_sales_df['rank'] = sorted_sales_df['sales'].rank(ascending=False)

4.2.3 拓展案例一:学生考试成绩排序

处理一份学生的考试成绩表,根据成绩进行排序。

数据准备

# 示例学生考试成绩数据
exam_scores_data = {
    'student': ['John', 'Emma', 'Mark', 'Laura'],
    'score': [88, 92, 75, 85]
}
scores_df = pd.DataFrame(exam_scores_data)

数据排序

# 根据考试成绩排序
sorted_scores_df = scores_df.sort_values(by='score', ascending=False)

4.2.4 拓展案例二:产品评价排序

假设你有一份产品的顾客评价数据,需要根据评价分数排序。

数据准备

# 示例产品评价数据
product_reviews_data = {
    'product_id': [101, 102, 103, 104],
    'review_score': [4.5, 3.8, 4.2, 5.0]
}
reviews_df = pd.DataFrame(product_reviews_data)

评价排序

# 根据评价分数排序
sorted_reviews_df = reviews_df.sort_values(by='review_score', ascending=False)

通过这些案例,我们展示了如何在 Pandas 中有效地对数据进行排序和排名。这些技巧对于快速理解数据结构、识别关键信息和模式至关重要,无论是在业绩排名、学生成绩排序,还是产品评价分析中。


4.3 列的添加与删除

在数据分析的过程中,我们经常需要根据分析需求添加新的列或者删除不必要的列。掌握如何高效地进行这些操作对于数据处理来说至关重要。

4.3.1 基础知识

  1. 添加列: 可以直接通过赋值的方式添加新列,例如 df['new_column'] = value
  2. 基于现有列计算新列: 通过对现有列进行运算或应用函数来创建新列。
  3. 删除列: 使用 drop() 方法删除列,例如 df.drop('column_name', axis=1, inplace=True)

4.3.2 重点案例:雇员薪资调整

假设你正在处理一份雇员的薪资表,需要根据他们的绩效评分调整薪资。

数据准备

import pandas as pd
# 示例雇员薪资数据
salary_data = {
    'employee': ['Alice', 'Bob', 'Charlie'],
    'base_salary': [30000, 40000, 50000],
    'performance_score': [3.2, 4.5, 3.8]
}
salary_df = pd.DataFrame(salary_data)

添加新列

# 根据绩效评分调整薪资
salary_df['adjusted_salary'] = salary_df['base_salary'] * (1 + salary_df['performance_score'] / 10)

删除列

# 删除绩效评分列
salary_df.drop('performance_score', axis=1, inplace=True)

4.3.3 拓展案例一:学生总成绩计算

处理一份学生的成绩单,需要计算每个学生的总成绩。

数据准备

# 示例学生成绩数据
grades_data = {
    'student': ['John', 'Emma', 'Mark'],
    'math': [88, 76, 92],
    'science': [85, 90, 88]
}
grades_df = pd.DataFrame(grades_data)

计算总成绩

# 计算总成绩
grades_df['total'] = grades_df['math'] + grades_df['science']

4.3.4 拓展案例二:产品销售数据分析

假设你有一份产品的销售记录,需要分析每个产品的总销售额。

数据准备

# 示例产品销售数据
sales_data = {
    'product_id': [101, 102, 103],
    'units_sold': [30, 50, 20],
    'unit_price': [10, 20, 15]
}
sales_df = pd.DataFrame(sales_data)

计算总销售额

# 计算每个产品的总销售额
sales_df['total_sales'] = sales_df['units_sold'] * sales_df['unit_price']

通过这些案例,我们展示了如何在 Pandas 中有效地添加和删除列,以及如何基于现有数据创建新的数据列。这些技巧是数据预处理和特征工程的关键部分,无论是处理薪资数据、学生成绩,还是产品销售记录。

目录
相关文章
|
3月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
493 0
|
8月前
|
数据采集 安全 数据挖掘
Pandas数据合并:10种高效连接技巧与常见问题
在数据分析中,数据合并是常见且关键的步骤。本文针对合并来自多个来源的数据集时可能遇到的问题,如列丢失、重复记录等,提供系统解决方案。基于对超1000个复杂数据集的分析经验,总结了10种关键技术,涵盖Pandas库中`merge`和`join`函数的使用方法。内容包括基本合并、左连接、右连接、外连接、基于索引连接、多键合并、数据拼接、交叉连接、后缀管理和合并验证等场景。通过实际案例与技术原理解析,帮助用户高效准确地完成数据整合任务,提升数据分析效率。
769 13
Pandas数据合并:10种高效连接技巧与常见问题
|
存储 人工智能 自然语言处理
Pandas数据应用:自然语言处理
本文介绍Pandas在自然语言处理(NLP)中的应用,涵盖数据准备、文本预处理、分词、去除停用词等常见任务,并通过代码示例详细解释。同时,针对常见的报错如`MemoryError`、`ValueError`和`KeyError`提供了解决方案。适合初学者逐步掌握Pandas与NLP结合的技巧。
474 20
|
11月前
|
监控 物联网 数据处理
Pandas高级数据处理:数据流式计算
本文介绍了如何使用 Pandas 进行流式数据处理。流式计算能够实时处理不断流入的数据,适用于金融交易、物联网监控等场景。Pandas 虽然主要用于批处理,但通过分块读取文件、增量更新 DataFrame 和使用生成器等方式,也能实现简单的流式计算。文章还详细讨论了内存溢出、数据类型不一致、数据丢失或重复及性能瓶颈等常见问题的解决方案,并建议在处理大规模数据时使用专门的流式计算框架。
635 100
Pandas高级数据处理:数据流式计算
|
12月前
|
机器学习/深度学习 存储 算法
Pandas数据应用:客户流失预测
本文介绍如何使用Pandas进行客户流失预测,涵盖数据加载、预处理、特征工程和模型训练。通过解决常见问题(如文件路径错误、编码问题、列名不一致等),确保数据分析顺利进行。特征工程中创建新特征并转换数据类型,为模型训练做准备。最后,划分训练集与测试集,选择合适的机器学习算法构建模型,并讨论数据不平衡等问题的解决方案。掌握这些技巧有助于有效应对实际工作中的复杂情况。
298 95
|
12月前
|
机器学习/深度学习 数据采集 JSON
Pandas数据应用:机器学习预处理
本文介绍如何使用Pandas进行机器学习数据预处理,涵盖数据加载、缺失值处理、类型转换、标准化与归一化及分类变量编码等内容。常见问题包括文件路径错误、编码不正确、数据类型不符、缺失值处理不当等。通过代码案例详细解释每一步骤,并提供解决方案,确保数据质量,提升模型性能。
487 88
|
12月前
|
数据采集 存储 供应链
Pandas数据应用:库存管理
本文介绍Pandas在库存管理中的应用,涵盖数据读取、清洗、查询及常见报错的解决方法。通过具体代码示例,讲解如何处理多样数据来源、格式不一致、缺失值和重复数据等问题,并解决KeyError、ValueError等常见错误,帮助提高库存管理效率和准确性。
341 72
|
11月前
|
数据可视化 数据挖掘 数据处理
Pandas高级数据处理:交互式数据探索
Pandas 是数据分析中常用的数据处理库,提供了强大的数据结构和操作功能。本文从基础到高级,逐步介绍 Pandas 中交互式数据探索的常见问题及解决方案,涵盖数据读取、检查、清洗、预处理、聚合分组和可视化等内容。通过实例代码,帮助用户解决文件路径错误、编码问题、数据类型不一致、缺失值处理等挑战,提升数据分析效率。
252 32
|
11月前
|
数据采集 数据可视化 数据处理
Pandas高级数据处理:数据仪表板制作
《Pandas高级数据处理:数据仪表板制作》涵盖数据清洗、聚合、时间序列处理等技巧,解决常见错误如KeyError和内存溢出。通过多源数据整合、动态数据透视及可视化准备,结合性能优化与最佳实践,助你构建响应快速、数据精准的商业级数据仪表板。适合希望提升数据分析能力的开发者。
317 31
|
11月前
|
消息中间件 数据挖掘 数据处理
Pandas高级数据处理:数据流式计算
在大数据时代,Pandas作为Python强大的数据分析库,在处理结构化数据方面表现出色。然而,面对海量数据时,如何实现高效的流式计算成为关键。本文探讨了Pandas在流式计算中的常见问题与挑战,如内存限制、性能瓶颈和数据一致性,并提供了详细的解决方案,包括使用`chunksize`分批读取、向量化操作及`dask`库等方法,帮助读者更好地应对大规模数据处理需求。
258 17