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

数据分析库 Pandas

对于Pandas的简单认识和基本操作的练习

一 介绍 

Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的库。
Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于 Excel 表格)。
Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。
Pandas 广泛应用在学术、金融、统计学等各个数据分析领域。

主要数据结构

Pandas主要引入了两种新的数据结构:DataFrame 和 Series。
Series:类似于一维数组或列表,是由一组数据以及与之相关的数据标签(索引)构成。Series 可以看作是 DataFrame 中的一列,也可以是单独存在的一维数据结构。
DataFrame:类似于一个二维表格,是 Pandas 中最重要的数据结构。DataFrame 可以看作是由多个 Series 按列排列构成的表格,它既有行索引也有列索引,因此可以方便地进行行列选择、过滤、合并等操作。


二 使用

 Series

索引:每一个Series都有一个索引,可以是整数,字符串,日期等类型,如果没有显示指定索引,Pandas会默认自动创建一个从0开始的整数索引

数据类型:Series可以容纳不同数据类型的元素,包括整数,浮点数,字符串等

# series
#创建
#可以通过pd.Series()构造器创建 也可以传递一个数据数据加一个可选的索引数组import pandas as pd
a = [1,2,3,4]
b = pd.Series(a)time = ['23年','24年','25年','26年']
date = [100,200,300,400]
c = pd.Series(date,time)
print(c)sites = {1:"0012",2:"0013",3:"0014",4:"0015"}
d = pd.Series(sites)
print(d)var = pd.Series(sites,index=[1,3]) # 按照索引去获取数组
print(var)

DataFrame

列和行:DataFrame 由多个列组成,每一列都有一个名称,可以看作一个Series 同时还存在有行索引

二维结构:DataFrame 是一个二维表格 具有行和列 可以视为多个Series对象组成的字典

列的数据类型:不同的列可以包含不同的数据类型 例如整数 浮点型 字符串

 创建方式 

import pandas as pd
# 字典嵌套列表创建
sites = {"web_name":["Google","Baidu","SH"],"age":[1,3,9]}
var = pd.DataFrame(sites)
var
import pandas as pd
# 使用Series创建
data = {"name":pd.Series(["一","二","三"]),"age":pd.Series([21,22,23]),"money":pd.Series([21.2,22.2,23.2])
}
data = pd.DataFrame(data)
data

 文件处理 

import pandas as pd
# csv数据读取
gender = pd.read_csv(r"D:\Study Note\Python_note\Pandas\gender_submission.csv")
gender
import pandas as pd
# JSON数据读取
JSON_Test = pd.read_json(r"D:\Study Note\Python_note\Pandas\test.json")
JSON_Test

 保存为文件

import pandas as pd# 数据
data = {"name":pd.Series(["张三","李四","王五"]),"age":pd.Series([21,22,23]),"money":pd.Series([21.2,22.2,23.2])
}# 将数据转换为DataFrame
data = pd.DataFrame(data)# 将DATa Frame写入Excel文件中
data.to_excel('test.xlsx',index=False)print("Excel文件生成成功")

常用函数

函数用法
pd.merge()实现数据合并
pd.concat()将多个数据框沿着某个轴进行连接
loc[]和iloc[]对数据进行索引和选择
drop()删除某些列或行
isnull()检查失值并使用
fillna()填充缺失值
sort_values()排序
import pandas as pd
df = pd.read_csv(r"D:\Study Note\Python_note\Pandas\test.csv")
# df.head()# 设置编号 方便筛查
df.set_index('PassengerId',inplace=True)# 获取单个值
a = df.loc[900,'Name']# 获取一个Series
b = df.loc[900,['Sex','Age']]# 得到DataFrame
c = df.loc[[896,897,900],["Name","Sex","Age"]]# 行列按区间查询
d = df.loc[896: 905,"Name":"Age"]# 布尔查询
f = df.loc[df["Age"] < 18,:]# 条件查询
g = df.loc[(df["Age"]<=30) & (df["Age"]>=18) & (df["Sex"] == "male"),:]# 新增列查询
h = df.loc[:,"Year"] = df["Age"] +  2025
df.head()
# 统计函数
# 查看单个Series的数据
df["Age"].mean()# 最大值
df["Age"].max()# 最小值
df["Age"].min()# 按值计数
df["Sex"].value_counts()# 去重
df["Age"].unique()# 缺失值处理
stu = pd.read_excel(r"D:\Study Note\Python_note\Pandas\test.xlsx",skiprows = 2)# 检查空值
stu.isnull()
stu["name"].notnull()# 排序
df2 = pd.read_csv(r"D:\Study Note\Python_note\Pandas\gender_submission.csv")
df2.sort_values("Age",ascending=False)

 学习时间 2025年07月12日

http://www.dtcms.com/a/275668.html

相关文章:

  • 每日一SQL 【销售分析 III】
  • 【Modern C++ Part10】Prefer-scoped-enum-to-unscoped-enums
  • 开源 python 应用 开发(五)python opencv之目标检测
  • (C++)STL标准库(vector动态数组)(list列表)(set集合)(map键值对)相关对比,基础教程
  • React - createPortal
  • React useState原理解密:从源码到实战
  • Java 泛型 (Generics)
  • bp使用爆破模块破解pikachu的登陆密码
  • 第34次CCF-CSP认证第4题,货物调度
  • 分析与展望
  • 不止于监控:深入剖析OpenTelemetry的可观察性生态体系
  • 使用FastAdmin框架开发
  • 亚矩阵云手机:重构物流供应链,让跨境包裹“飞”得更快更准
  • 【华为OD】MVP争夺战(C++、Java、Python)
  • 聊一聊Spring框架接口测试常见场景有哪些?
  • Python ExcelWriter详解:从基础到高级的完整指南
  • Android 系统Framework如何默认打开ADB连接
  • STP生成树划分实验
  • ms复现永恒之蓝
  • 使用ESM3蛋白质语言模型进行快速大规模结构预测
  • 学习秒杀系统-登录功能(明文密码两次MD5,JSR303参数校验,分布式session)
  • Vue 项目打包部署还存在问题?你知道怎么做吧?
  • 鸿蒙系统防黑秘籍:如何彻底防止恶意应用窃取用户数据?
  • java进阶(一)+学习笔记
  • STM32之LVGL移植
  • 详解缓存淘汰策略:LRU
  • python-enumrate函数
  • NO.3数据结构栈和队列|顺序栈|共享栈|链栈|顺序队|循环队列|链队|双端队列|括号匹配|中缀表达式转后缀|后缀表达式求值
  • JavaScript代码段注入:动态抓取DOM元素的原理与实践
  • GitHub 操作指南:项目协作与自动化工作流实践