的记忆:pandas(实在会忘记,就看作是一个 Excel 表格,或者是 SQL 表,或者是字典的字典。)

pandas 是一个开源的 Python 数据分析库,它提供了快速、灵活和富有表现力的数据结构,旨在使"关系"或"标记"数据的"快速分析、清洗和转换"变得既简单又直观。pandas 非常适合于数据清洗和转换、数据分析和建模等任务。以下是 pandas 的基本概念和主要特征:

基本概念

  1. DataFrame
    • DataFrame 是 pandas 提供的一个二维的、大小可变的、可以存储多种类型数据的表格型数据结构。它既有行索引也有列索引,可以被看作是一个 Excel 表格,或者是 SQL 表,或者是字典的字典。
    • DataFrame 中的数据以行列的形式存储,其中行由索引标识,列由列名标识。
  2. Series
    • Series 是一个一维数组对象,能够保存任何数据类型(整数、字符串、浮点数、Python 对象等)。它有一个标签与之关联,可以看作是 DataFrame 的一列。

主要特征

  1. 灵活的数据结构
    • pandas 提供了 DataFrame 和 Series 两种灵活的数据结构,可以方便地处理标记数据和关系数据。
  2. 强大的数据操作能力
    • 提供了大量用于数据清洗、转换、筛选、分组、聚合等操作的函数和方法。
    • 支持布尔索引、标签索引、位置索引等多种索引方式。
  3. 集成数据缺失处理
    • pandas 提供了一套丰富的功能来处理含有缺失值的数据,如填充缺失值、删除含有缺失值的行等。
  4. 数据合并和连接
    • pandas 可以方便地将多个 DataFrame 或 Series 合并或连接在一起,支持多种合并策略(如内连接、外连接等)。
  5. 时间序列处理
    • pandas 提供了强大的时间序列处理功能,可以轻松地进行日期范围生成、日期偏移、时间频率转换等操作。
  6. 数据可视化集成
    • pandas 可以与 matplotlib、seaborn 等可视化库无缝集成,方便地将数据可视化。
  7. 高性能
    • pandas 的底层实现采用了 NumPy 库,因此具有高效的数值计算性能。
    • pandas 还提供了多种优化手段,如内存优化、计算优化等,确保在处理大规模数据时依然保持高性能。
  8. 易用性
    • pandas 提供了丰富的 API 和文档,使得用户能够轻松地学习和使用。
    • pandas 的语法直观易懂,与 Python 的风格保持一致,降低了学习成本。

通过结合以上这些特点,pandas 成为了数据分析师和数据科学家不可或缺的工具之一。


简单接触一些:

pd.concat()

这个函数用于将多个pandas对象(如DataFrame或Series)沿着一条特定的轴拼接起来。

python 复制代码
import pandas as pd  
  
# 创建两个简单的DataFrame  
df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})  
df2 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]})  
  
# 使用pd.concat按行拼接  
result = pd.concat([df1, df2])  
print(result)  
print("______________________________")
# 按列拼接  
result_col = pd.concat([df1, df2], axis=1)  
print(result_col)

pd.melt()

这个函数用于将DataFrame中的列转换为行格式,常用于数据重塑。

pd.get_dummies()

这个函数用于将分类变量转换为哑变量(dummy variables,或称为独热编码)。

DataFrame.groupby()

DataFrame的groupby方法用于根据一个或多个列对数据进行分组,并对每个组执行某些操作(如聚合)。

python 复制代码
df = pd.DataFrame({  
    'A': ['foo', 'foo', 'foo', 'bar', 'bar'],  
    'B': ['one', 'one', 'two', 'two', 'one'],  
    'C': ['small', 'large', 'large', 'small', 'small'],  
    'D': [1, 2, 2, 3, 3],  
    'E': [2, 4, 5, 5, 6]  
})  
  
# 按列'A'分组,并计算每组的'D'列的平均值  
grouped = df.groupby('A')['D'].mean()  
print(grouped)

DataFrame.merge()

DataFrame的merge方法用于根据一个或多个键将两个DataFrame合并在一起。

python 复制代码
left = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],  
                     'A': ['A0', 'A1', 'A2', 'A3'],  
                     'B': ['B0', 'B1', 'B2', 'B3']})  
  
right = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],  
                      'C': ['C0', 'C1', 'C2', 'C3'],  
                      'D': ['D0', 'D1', 'D2', 'D3']})  
  
# 按'key'列进行内连接  
merged = left.merge(right, on='key')  
print(merged)

常用的函数和方法示例

数据导入与导出

pd.read_csv()

用于读取CSV文件并转换为DataFrame。

python 复制代码
df = pd.read_csv('data.csv')

DataFrame.to_csv()

python 复制代码
df.to_csv('output.csv', index=False)

数据查看与描述

DataFrame.head() 和 DataFrame.tail()

查看DataFrame的前几行或后几行

python 复制代码
# 查看前3行  
print(df.head(3))  
  
# 查看后2行  
print(df.tail(2))

DataFrame.info()

打印DataFrame的简要摘要信息,包括每列的非空值数量、数据类型等。

python 复制代码
df.info()

DataFrame.describe()

生成描述性统计信息,包括计数、均值、标准差、最小值、25%、50%、75%分位数和最大值,主要针对数值型列。

python 复制代码
df.describe()

数据选择与过滤

DataFrame.loc[] 和 DataFrame.iloc[]

基于标签或整数位置选择数据。

python 复制代码
# 使用标签选择数据  
print(df.loc[0:2, 'A':'B'])  
  
# 使用整数位置选择数据  
print(df.iloc[0:2, 0:2])

DataFrame.filter()

基于列标签选择列。

python 复制代码
filtered = df.filter(like='A', axis=1)

DataFrame.query()

使用查询字符串进行数据过滤。

python 复制代码
filtered = df.query('A > 1 & B < 4')
相关推荐
Source.Liu18 小时前
【Python自动化】 21.2 Pandas 读取 Excel 时的 dtype 参数完全指南
python·自动化·pandas
Source.Liu20 小时前
【Python自动化】 21 Pandas Excel 操作完整指南
python·excel·pandas
Source.Liu1 天前
【Python自动化】 21.1 Pandas 读取 Excel 文件的完整指南
python·自动化·pandas
偷心伊普西隆2 天前
Pandas DataFrame 指南
python·数据分析·pandas
chad__chang8 天前
Pandas的数据结构
数据结构·pandas
老歌老听老掉牙11 天前
Pandas DataFrame 列数操作完全指南
python·pandas
万粉变现经纪人11 天前
如何解决pip安装报错ModuleNotFoundError: No module named ‘websockets’问题
ide·pycharm·beautifulsoup·pandas·fastapi·pip·httpx
偷心伊普西隆15 天前
Python Excel 通用筛选函数
python·excel·pandas
高级测试工程师欧阳16 天前
python中selenium怎么使用
python·pandas
Chandler_Song16 天前
【Python代码】谷歌专利CSV处理函数
开发语言·python·pandas