继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Pandas资料入门教程:轻松掌握数据处理基础

墨色风雨
关注TA
已关注
手记 334
粉丝 75
获赞 351

本文提供了关于Pandas的全面介绍,涵盖了Pandas的基本概念、应用场景、安装方法以及数据结构如Series和DataFrame的详细说明。文章还涵盖了数据读取与保存、索引与选择、数据清洗与预处理、数据操作与统计等重要功能。通过本文,读者可以全面了解Pandas的强大功能和使用方法。

Pandas简介

Pandas 是一个强大的 Python 数据分析和操作库,它提供了灵活的数据结构和数据分析工具,使得数据处理变得更加简单和高效。Pandas 支持高性能的大量数据操作,并且可以轻松地从不同文件格式中读取和写入数据。

Pandas 的基本概念与应用场景

Pandas 是基于 NumPy 库构建的,NumPy 是一个强大的多维数组和矩阵处理库。Pandas 提供了更高级别的数据处理功能,包括数据分析中的常用操作,如数据的过滤、分组、聚合等。Pandas 中有两个主要的数据结构:SeriesDataFrame

Pandas的应用场景

Pandas 应用场景广泛,包括但不限于以下几个方面:

  • 数据清洗:处理缺失值、重复值、格式转换等。
  • 数据探索:快速查看数据的基本统计信息,如均值、方差、最大值等。
  • 数据分析:对数据进行分组、聚合、过滤等操作。
  • 数据可视化:配合其他库(如 Matplotlib)实现数据可视化。
  • 金融分析:股票价格分析、风险管理等。
  • 社交网络分析:用户行为分析、社交关系挖掘等。
安装及环境配置

Pandas 依赖于 Python 语言,因此首先需要安装 Python。你可以从 Python 官方网站下载最新版本的 Python,安装过程中记得勾选“Add Python to PATH”。

安装 Pandas 可以通过 pip 工具完成:

pip install pandas

此外,Pandas 还会安装一些依赖库,包括 NumPy 和 pytz。确保这些依赖库也安装成功。

Series和DataFrame基础
Series对象介绍

Series 是 Pandas 中的一个一维数组,类似于 Python 中的列表或 NumPy 中的一维数组,但它能存储任何数据类型,并且自带索引。Series 对象由数据和索引组成。

创建一个简单的 Series 对象:

import pandas as pd

data = [1, 2, 3, 4, 5]
index = ['a', 'b', 'c', 'd', 'e']
series = pd.Series(data, index=index)
print(series)

输出:

a    1
b    2
c    3
d    4
e    5
dtype: int64
DataFrame对象介绍

DataFrame 是 Pandas 中最重要的数据结构,是一个表格型的数据结构。它由一组列组成,每个列可以由不同的值类型(如整数、字符串等)。每个行和列都可以有一个标签,这些标签可以用来引用数据。

创建一个简单的 DataFrame 对象:

import pandas as pd

data = {
    'Name': ['Tom', 'Nick', 'John', 'Tom'],
    'Age': [20, 21, 19, 20],
    'Gender': ['Male', 'Male', 'Male', 'Male']
}
df = pd.DataFrame(data)
print(df)

输出:

   Name  Age  Gender
0   Tom   20   Male
1  Nick   21   Male
2  John   19   Male
3   Tom   20   Male
创建Series和DataFrame

SeriesDataFrame 可以从多种方式创建:

  • 从字典创建
  • 从列表创建
  • 从其他数据结构创建

从字典创建

import pandas as pd

data = {'Name': ['Tom', 'John', 'Nick', 'Tom'], 'Age': [20, 21, 19, 20]}
df = pd.DataFrame(data)
print(df)

输出:

   Name  Age
0   Tom   20
1  John   21
2  Nick   19
3   Tom   20

从列表创建

import pandas as pd

data = [['Tom', 20], ['John', 21], ['Nick', 19], ['Tom', 20]]
df = pd.DataFrame(data, columns=['Name', 'Age'])
print(df)

输出:

   Name  Age
0   Tom   20
1  John   21
2  Nick   19
3   Tom   20

从其他数据结构创建

import pandas as pd
import numpy as np

# 从 NumPy 数组创建
data = np.array([1, 2, 3])
series = pd.Series(data)
print(series)

# 从字典创建
data = {'Name': ['Tom', 'John', 'Nick', 'Tom'], 'Age': [20, 21, 19, 20]}
df = pd.DataFrame(data)
print(df)

输出:

0    1
1    2
2    3
dtype: int32
   Name  Age
0   Tom   20
1  John   21
2  Nick   19
3   Tom   20
数据读取与保存
读取CSV文件

CSV 文件是数据存储的一种常见格式,Pandas 提供了 read_csv 函数来读取 CSV 文件。

示例代码:

import pandas as pd

df = pd.read_csv('data.csv')
print(df)

输出:

   Name  Age
0   Tom   20
1  John   21
2  Nick   19
3   Tom   20
读取Excel文件

Excel 文件是另一种常用的数据存储格式,Pandas 提供了 read_excel 函数来读取 Excel 文件。

示例代码:

import pandas as pd

df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
print(df)

输出:

   Name  Age
0   Tom   20
1  John   21
2  Nick   19
3   Tom   20
保存数据到CSV和Excel

保存 DataFrame 到 CSV 或 Excel 文件可以方便地分享或存储数据。

示例代码:

import pandas as pd

# 读取数据
data = {'Name': ['Tom', 'John', 'Nick', 'Tom'], 'Age': [20, 21, 19, 20]}
df = pd.DataFrame(data)

# 保存到 CSV 文件
df.to_csv('output.csv', index=False)

# 保存到 Excel 文件
df.to_excel('output.xlsx', index=False)
数据索引与选择
索引与列的选择

Pandas 提供了多种方法来索引和选择数据。

索引选择

import pandas as pd

data = {'Name': ['Tom', 'John', 'Nick', 'Tom'], 'Age': [20, 21, 19, 20]}
df = pd.DataFrame(data)

# 索引选择
print(df.loc[0])
print(df.loc[0, 'Name'])

输出:

Name    Tom
Age      20
Name    Tom

列选择

import pandas as pd

data = {'Name': ['Tom', 'John', 'Nick', 'Tom'], 'Age': [20, 21, 19, 20]}
df = pd.DataFrame(data)

# 列选择
print(df['Name'])
print(df[['Name', 'Age']])

输出:

0    Tom
1  John
2  Nick
3    Tom
Name: Name, dtype: object
   Name  Age
0   Tom   20
1  John   21
2  Nick   19
3   Tom   20
索引与列的重命名

Pandas 提供了 rename 方法来重命名索引或列。

示例代码:

import pandas as pd

data = {'Name': ['Tom', 'John', 'Nick', 'Tom'], 'Age': [20, 21, 19, 20]}
df = pd.DataFrame(data)

# 重命名列
df.rename(columns={'Name': 'Person'}, inplace=True)
print(df)

输出:

   Person  Age
0     Tom   20
1    John   21
2    Nick   19
3     Tom   20
布尔索引

布尔索引允许你根据条件选择数据。

示例代码:

import pandas as pd

data = {'Name': ['Tom', 'John', 'Nick', 'Tom'], 'Age': [20, 21, 19, 20]}
df = pd.DataFrame(data)

# 布尔索引
mask = df['Age'] > 20
print(df[mask])

输出:

   Name  Age
1  John   21
数据清洗与预处理
缺失值处理

处理缺失值是数据清洗中的重要一步,Pandas 提供了多种方法来处理缺失值。

示例代码:

import pandas as pd

data = {'Name': ['Tom', 'John', 'Nick', 'Tom'], 'Age': [20, 21, None, 20]}
df = pd.DataFrame(data)

# 检查缺失值
print(df.isnull())
# 填充缺失值
df['Age'].fillna(value=22, inplace=True)
print(df)

输出:

   Name  Age
0   Tom   20
1  John   21
2  Nick   22
3   Tom   20
数据类型转换

数据类型转换是数据预处理中的常见操作。

示例代码:

import pandas as pd

data = {'Name': ['Tom', 'John', 'Nick', 'Tom'], 'Age': ['20', '21', '19', '20']}
df = pd.DataFrame(data)

# 转换数据类型
df['Age'] = df['Age'].astype(int)
print(df)

输出:

   Name  Age
0   Tom   20
1  John   21
2  Nick   19
3   Tom   20
数据排序与去重

数据排序和去重是数据清洗中的重要步骤。

示例代码:

import pandas as pd

data = {'Name': ['Tom', 'John', 'Nick', 'Tom'], 'Age': [20, 21, 19, 20]}
df = pd.DataFrame(data)

# 数据排序
df.sort_values(by='Age', ascending=True, inplace=True)
print(df)

# 去重
df.drop_duplicates(inplace=True)
print(df)

输出:

   Name  Age
2  Nick   19
3   Tom   20
1  John   21
   Name  Age
2  Nick   19
1  John   21
数据操作与统计
数据运算与聚合

Pandas 提供了多种数据运算和聚合方法。

示例代码:

import pandas as pd

data = {'Name': ['Tom', 'John', 'Nick', 'Tom'], 'Age': [20, 21, 19, 20], 'Salary': [50000, 60000, 55000, 50000]}
df = pd.DataFrame(data)

# 数据运算
df['Age'] = df['Age'] + 1
print(df)

# 数据聚合
print(df.groupby('Name').agg({'Age': 'mean', 'Salary': 'sum'}))

输出:

   Name  Age   Salary
0   Tom   21    50000
1  John   22    60000
2  Nick   20    55000
3   Tom   21    50000
      Age   Salary
Name            
John   22    60000
Nick   20    55000
Tom    21    100000
分组与分组运算

数据分组是数据分析中的重要步骤,可以对数据进行分组统计。

示例代码:

import pandas as pd

data = {'Name': ['Tom', 'John', 'Nick', 'Tom'], 'Age': [20, 21, 19, 20], 'Salary': [50000, 60000, 55000, 50000]}
df = pd.DataFrame(data)

# 分组
grouped = df.groupby('Name')

# 分组运算
print(grouped['Salary'].sum())

输出:

Name
John    60000
Nick    55000
Tom    100000
Name: Salary, dtype: int64
描述性统计

描述性统计是数据分析的重要组成部分,Pandas 提供了多种描述性统计方法。

示例代码:

import pandas as pd

data = {'Name': ['Tom', 'John', 'Nick', 'Tom'], 'Age': [20, 21, 19, 20], 'Salary': [50000, 60000, 55000, 50000]}
df = pd.DataFrame(data)

# 描述性统计
print(df.describe())

输出:

              Age       Salary
count   4.000000   4.000000
mean   20.000000 55000.000000
std    1.000000  5153.205716
min    19.000000 50000.000000
25%    19.750000 50000.000000
50%    20.500000 55000.000000
75%    21.250000 60000.000000
max    21.000000 60000.000000

以上是 Pandas 的基本入门教程,通过这些基础操作,你可以开始使用 Pandas 处理和分析数据了。如果你需要更深入的了解,可以参考 Pandas 的官方文档或参加在线课程,例如在慕课网上就有许多关于 Pandas 的课程。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP