当前位置: 首页 > news >正文

开源的 Python 数据分析库Pandas 简介

         阅读本文之前请参阅-----如何系统的自学python

        Pandas 是一个开源的 Python 数据分析库,它提供了高性能、易用的数据结构和数据分析工具。Pandas 特别适合处理表格数据,例如时间序列数据、异构数据等。以下是对 Pandas 的简明扼要的介绍,包括一些基本的概念和操作示例。

        Pandas 的核心数据结构

1. **Series**:一维的带标签数组,可以存储任何数据类型(整数、字符串、浮点数、Python 对象等)。
2. **DataFrame**:二维的表格型数据结构,具有灵活的行索引和可变的列名。DataFrame 可以被看作是一个由 Series 组成的字典。

        安装 Pandas

在 Python 环境中,你可以使用 pip 来安装 Pandas:


pip install pandas

        创建 Series

创建一个 Series 非常简单,你只需要传递一个列表或数组给 Series 构造器,并为它指定一个索引。


import pandas as pd# 创建一个 Series
s = pd.Series([1, 3, 5, 7, 9], index=['a', 'b', 'c', 'd', 'e'])
print(s)

输出:


a    1
b    3
c    5
d    7
e    9
dtype: int64
 

        创建 DataFrame

DataFrame 可以通过多种方式创建,例如从一个字典、一个列表的列表、一个 Series 的字典等。

```python
# 创建一个 DataFrame
df = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie'],'Age': [24, 27, 22],'Salary': [85000, 92000, 60000]
})
print(df)

输出:


       Name  Age  Salary
0    Alice   24   85000
1      Bob   27   92000
2  Charlie   22   60000
 

        数据访问

在 Pandas 中,你可以使用多种方式来访问数据。


# 访问单个值
print(df.loc[0, 'Name'])  # 输出:Alice# 访问多行多列
print(df.loc[0:1, ['Name', 'Age']])# 访问列
print(df['Name'])# 访问行
print(df.loc[0])# 使用条件访问数据
print(df[df['Age'] > 25])

        数据操作

Pandas 提供了丰富的数据操作功能,包括排序、筛选、合并、分组等。


# 排序
df_sorted = df.sort_values(by='Age', ascending=False)
print(df_sorted)# 筛选
df_filtered = df[df['Salary'] > 70000]
print(df_filtered)# 合并
df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
df2 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]})
df_merged = pd.merge(df1, df2, on='A')
print(df_merged)# 分组
grouped = df.groupby('Name')['Salary'].mean()
print(grouped)

        数据清洗

Pandas 提供了多种数据清洗工具,例如处理缺失值、重复值等。


# 处理缺失值
df['Missing'] = [1, 2, None, 4]
df_cleaned = df.dropna()  # 删除包含缺失值的行
print(df_cleaned)# 处理重复值
df['Duplicate'] = [1, 1, 2, 2]
df_unique = df.drop_duplicates()  # 删除重复的行
print(df_unique)

        数据聚合

Pandas 允许你对数据进行聚合操作,例如计算总和、平均值、最大值、最小值等。


# 聚合操作
print(df.sum())  # 计算每列的总和
print(df.mean())  # 计算每列的平均值
print(df.max())  # 计算每列的最大值
print(df.min())  # 计算每列的最小值

        时间序列分析

Pandas 在处理时间序列数据方面非常强大,它提供了许多用于日期和时间的工具。


# 创建时间序列数据
dates = pd.date_range('20230101', periods=3)
ts = pd.Series([1.5, -1.2, 2.8], index=dates)
print(ts)# 时间序列操作
print(ts.resample('D').mean())  # 按天聚合数据

        结论

        Pandas 是一个功能强大的数据分析库,它提供了丰富的数据结构和数据分析工具。通过使用 Pandas,你可以轻松地进行数据清洗、处理、分析和可视化。无论是数据科学家、数据分析师还是数据工程师,Pandas 都是 Python 生态系统中不可或缺的一部分。掌握 Pandas 的基本用法,将极大地提高你的数据处理能力。

http://www.lryc.cn/news/307878.html

相关文章:

  • LeetCode 2125.银行中的激光束数量
  • 【探索AI】Sora - 探索AI视频模型的无限可能
  • NGINX的重写与反向代理机制解析
  • JVM的深入理解
  • JavaWeb——007MYSQL(DQL多表设计)
  • 深度学习500问——Chapter01:数学基础
  • day03_登录注销(前端接入登录,异常处理, 图片验证码,获取用户信息接口,退出功能)
  • k8s初始化报错 [ERROR CRI]: container runtime is not running: ......
  • vscode windows 免密登录 powershell.sh
  • 10 种3D 建模技术
  • 常见的socket函数封装和多进程和多线程实现服务器并发
  • Tomcat架构分析
  • 旧项目集成阿里云滑动验证码(web和H5方式)
  • 机器人内部传感器阅读梳理及心得-速度传感器-数字式速度传感器
  • 【vue+element ui】大屏自适应中el-select下拉内容在低分辨率下显示不全问题解决
  • 前端架构: 脚手架之多package项目管理和架构
  • 【C# 多线程】如何停止正在运行中的子线程
  • 服务器机房安全守护:五大物理安全实践
  • spring boot 修复 Spring Framework URL解析不当漏洞(CVE-2024-22243)
  • VR全景HDR拍摄教程
  • hive执行select count(1)返回0
  • 3D Gaussian splatting 协方差矩阵 球谐函数 简单理解
  • 代码随想录算法刷题训练营day27:LeetCode(39)组合总和、LeetCode(40)组合总和 II、LeetCode(131)分割回文串
  • docker 容器修改端口和目录映射
  • echarts鼠标事件
  • 【北京迅为】《iTOP-3588开发板网络环境配置手册》第2章 电脑、开发板直连交换机或路由器
  • 6.5 共享数据
  • SpringBoot之Session新增、删除、获取配置与使用
  • Hive UDF 札记
  • npm已经配置淘宝源仍然无法使用