📜  如何利用 Pandas 数据框和系列进行数据整理?(1)

📅  最后修改于: 2023-12-03 15:24:04.466000             🧑  作者: Mango

如何利用 Pandas 数据框和系列进行数据整理?

介绍

Pandas 是一个 Python 的数据分析库,它提供了 Series(序列)和 DataFrame(数据框)两种数据结构。Series 可以看作是一维数组,而 DataFrame 可以看作是二维数组。Pandas 库提供了很多数据整理的函数,包括数据筛选、缺失值处理、数据转换、数据合并等。

数据读取

首先我们需要读取数据,Pandas 提供了很多函数可以读取不同格式的数据文件,如 CSV、Excel、JSON、HTML 等。其中最常用的是 read_csv()

import pandas as pd

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

数据筛选是数据整理中最常用的操作之一,它可以根据一定的条件选择数据子集。Pandas 提供了多种方法实现数据筛选,下面是一些常见的方法:

使用 [] 运算符

使用 [] 运算符可以对行或列进行筛选,常见的用法有:

# 筛选单个列
data['column_name']

# 筛选多个列
data[['column_name1', 'column_name2']]

# 筛选行
data[start:end]  # 筛选 start 到 end 之间的行
data[condition]  # 根据条件筛选行,condition 是一个布尔数组
# 例子:筛选某个列
result = data['column_name']
使用 lociloc 属性

lociloc 属性分别用于基于行标签和整数位置来筛选数据。

# 基于行标签筛选数据
data.loc[labels]

# 基于整数位置筛选数据
data.iloc[integer_location]
# 例子:基于行标签筛选数据
result = data.loc[data['column_name'] == 'value']
使用 query() 函数

query() 函数可用于查询满足条件的行。

# 查询满足条件的行
data.query('condition')
# 例子:查询某个列符合条件的行
result = data.query("column_name == 'value'")
缺失值处理

在数据整理中,经常会遇到缺失值。Pandas 提供了多种处理缺失值的方法。

查找缺失值

使用 isnull() 函数可以查找缺失值。该函数返回一个布尔数组,其中缺失值为 True,否则为 False

# 查找缺失值
data.isnull()
填充缺失值

使用 fillna() 函数可以填充缺失值。该函数可以接受一个参数,用于指定缺失值被填充的值。

# 填充缺失值
data.fillna(value)

使用 replace() 函数可以用指定的值替换缺失值。

# 使用指定值替换缺失值
data.replace(to_replace=pd.na,value=0)
删除缺失值

使用 dropna() 函数可以删除缺失值。

# 删除缺失值
data.dropna()
数据转换

数据转换是数据整理中另一个重要的操作。Pandas 提供了多种数据转换的函数。

类型转换

使用 astype() 函数可以将数据转换为指定的类型。该函数接受一个参数,用于指定目标类型。

# 类型转换
data.astype(dtype)
数据排序

使用 sort_values() 函数可以对数据进行排序。该函数接受一个参数,用于指定排序方式。

# 数据排序
data.sort_values(by)
数据重塑

使用 pivot_table() 函数可以对数据进行重塑。该函数接受多个参数,用于指定数据重塑的方式。

# 数据重塑
pd.pivot_table(data, index=['column_name1', 'column_name2'], values='value')
数据合并

数据合并是数据整理中另一个常见的操作。Pandas 提供了多种数据合并的函数。

使用 merge() 函数

使用 merge() 函数可以合并两个数据框。

# 合并两个数据框
pd.merge(df1, df2, on='column_name')
使用 join() 函数

使用 join() 函数可以基于列索引或行索引合并两个数据框。

# 使用 join() 函数将两个数据框合并
df1.join(df2, how='inner')
结论

本文介绍了 Pandas 中常见的数据整理操作,包括数据读取、数据筛选、缺失值处理、数据转换、数据合并等。Pandas 为数据整理提供了强大的支持,可以使我们在数据分析中高效、方便地进行数据整理。