数据分析库 Pandas

发布于:2025-07-13 ⋅ 阅读:(24) ⋅ 点赞:(0)

对于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日


网站公告

今日签到

点亮在社区的每一天
去签到