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

pandas库的基本运用

Pandas 是 Python 中用于数据处理和分析的重要库,它提供了高效的 DataFrame 数据结构和丰富的数据操作功能。以下是 Pandas 的一些基本运用:

一、DataFrame

DataFrame 是一种表格型的数据结构,它包含行和列,类似于我们常见的 Excel 表格。

1.运用

创建数据结构

示例:

import pandas as pd
a = pd.DataFrame({'name':['wzj','lmy','ldy','zhh'],'age':['23','22','22','22'],'income':['7000','7000','7000','7000']},index=['person1','person2','person3','person4'])
print(a)

结果:

        name age income
person1  wzj  23   7000
person2  lmy  22   7000
person3  ldy  22   7000
person4  zhh  22   7000

2.属性

示例:

import pandas as pd
a = pd.DataFrame({'name':['wzj','lmy','ldy','zhh'],'age':['23','22','22','22'],'income':['7000','7000','7000','7000']},index=['person1','person2','person3','person4'])
#行索引
a.index
print(a.index)
#列名
a.columns
print(a.columns)
#值
a.values
print(a.values)

 结果:

Index(['person1', 'person2', 'person3', 'person4'], dtype='object')
Index(['name', 'age', 'income'], dtype='object')
[['wzj' '23' '7000']['lmy' '22' '7000']['ldy' '22' '7000']['zhh' '22' '7000']]

3.常见操作

排序(升序和降序)

示例:

import pandas as pd
a = {'name':['wzj','lmy','ldy','zhh'],'age':['23','22','21','20'],'income':['7000','7000','7000','7000']}
df = pd.DataFrame(a)
print(df)
'''
根据年龄这一列,进行排序【升序和降序】
'''df = df.sort_values(by=['age'])
print(df)
df = df.sort_values(by=['age'],ascending=False)
print(df)

 结果:

   name age income
0  wzj  23   7000
1  lmy  22   7000
2  ldy  21   7000
3  zhh  20   7000name age income
3  zhh  20   7000
2  ldy  21   7000
1  lmy  22   7000
0  wzj  23   7000name age income
0  wzj  23   7000
1  lmy  22   7000
2  ldy  21   7000
3  zhh  20   7000

 值替换

示例:

import pandas as pd
a = {'name':['wzj','lmy','ldy','zhh'],'age':['23','22','21','20'],'income':['7000','7000','7000','7000'],'gender':['m','m','m','m']}
df = pd.DataFrame(a)
print(df)
'''
值替换
'''
df['gender']=\
df['gender'].replace(['m'],['male'])
print(df)

结果:

   name age income gender
0  wzj  23   7000      m
1  lmy  22   7000      m
2  ldy  21   7000      m
3  zhh  20   7000      mname age income gender
0  wzj  23   7000   male
1  lmy  22   7000   male
2  ldy  21   7000   male
3  zhh  20   7000   male

二、series

Series 是一种带索引的一维数组,可以存储多种数据类型。

1.运用

创建数据结构

示例:

import pandas as pd
#生成第一个Series[按照默认的index]
s_1 = pd.Series([1,2,3,4,5])
print(s_1)
#自定义index
s_2 = pd.Series([1,2,3,4,5],index=['a','b','d','e','f'])
print(s_2)
s_3 = pd.Series(['Lily', "Rose", "Jack"])
print(s_3)

结果:

0    1
1    2
2    3
3    4
4    5
dtype: int64
a    1
b    2
d    3
e    4
f    5
dtype: int64
0    Lily
1    Rose
2    Jack
dtype: object

 属性:

示例:

import pandas as pd
s_1 = pd.Series([1,2,3,4,5])
s_2 = pd.Series([1,2,3,4,5],index=['a','b','d','e','f'])
s_3 = pd.Series(['Lily', "Rose", "Jack"])
#Series的一些属性
s_1.index 
print(s_1)
s_2.index
print(s_2)
s_1.values
print(s_1)
s_3.values
print(s_3)

结果:

0    1
1    2
2    3
3    4
4    5
dtype: int64
a    1
b    2
d    3
e    4
f    5
dtype: int64
0    1
1    2
2    3
3    4
4    5
dtype: int64
0    Lily
1    Rose
2    Jack
dtype: object

2.操作

访问元素

示例:

import pandas as pd
s_1 = pd.Series([1,2,3,4,5])
index=['a','b','c','d','e']
s_2 = pd.Series(['lily','rose','jack'])
#查
#访间某个元素
print(s_1['d'])
#访问多个元素[Series的切片]
print(s_1['a':'d'])
#访问多个元素
print(s_1[['a','d']])
print(s_2[2])
print(s_2[0:2])
print(s_2[[0,2]])
print(s_1[4])

 结果:

4
a    1
b    2
c    3
d    4
dtype: int64
a    1
d    4
dtype: int64
jack
0    lily
1    rose
dtype: object
0    lily
2    jack
dtype: object
5

 删除:

示例:

import pandas as pd
s_1 = pd.Series([1,2,3,4,5],index=['a','b','c','d','e'])
#删除
s_1= s_1.drop('a')
print(s_1)

结果:

b    2
c    3
d    4
e    5
dtype: int64
判断一下某个值是否在Series里面:

示例:

import pandas as pd
s_2 = pd.Series(['lily','rose','jack'])
#判断一下某个值是否在Series里面
print('jim'!=s_2.values)#输出false或true

结果:

[ True  True  True]

 重置索引

示例:

import pandas as pd
dc ={"namel":"w","name2":"z",
"name3":"j"}
s_4 = pd.Series(dc)
print(s_4)
#重置索引
s_4.index=range(0,len(s_4))
print(s_4)

结果:

namel    w
name2    z
name3    j
dtype: object
0    w
1    z
2    j
dtype: object

3.数据框的两种查询方法

loc()方法和iloc()方法

示例:

import pandas as pd
import numpy as np
#生成指定日期
#datas = pd.date_range('20180101',periods=5)#产生一个时间数据,5个
df = pd.DataFrame(np.arange(30).reshape(5,6),index=['20180101','20180102','20180103','20180104','20180105'],columns=['A','B','C','D','E','F'])
#打印某个值
print(df.loc['20180103','B'])
#打印某列值
print(df.loc[:,'B'])
print(df.loc['20180103':'B'])
print(df.loc['20180103':,['B','D']])
#打印某行值
print(df.loc['20180101',:])
#打印某些行
print(df.loc['20180103':,:])
'''
iloc()方法
位置索引
'''
#获取某个数据
print(df.iloc[1,2])
#获取某列
print(df.iloc[:,2])
#获取某几列
print(df.iloc[:,[1,3]])
#获取某行
print(df.iloc[1,:])
#获取某些行
print(df.iloc[[1,2,4],:])

 结果:

13
20180101     1
20180102     7
20180103    13
20180104    19
20180105    25
Name: B, dtype: int32A   B   C   D   E   F
20180103  12  13  14  15  16  17
20180104  18  19  20  21  22  23
20180105  24  25  26  27  28  29B   D
20180103  13  15
20180104  19  21
20180105  25  27
A    0
B    1
C    2
D    3
E    4
F    5
Name: 20180101, dtype: int32A   B   C   D   E   F
20180103  12  13  14  15  16  17
20180104  18  19  20  21  22  23
20180105  24  25  26  27  28  29
8
20180101     2
20180102     8
20180103    14
20180104    20
20180105    26
Name: C, dtype: int32B   D
20180101   1   3
20180102   7   9
20180103  13  15
20180104  19  21
20180105  25  27
A     6
B     7
C     8
D     9
E    10
F    11
Name: 20180102, dtype: int32A   B   C   D   E   F
20180102   6   7   8   9  10  11
20180103  12  13  14  15  16  17
20180105  24  25  26  27  28  29

三、数据读取与保存​

在实际的数据分析工作中,我们经常需要从外部文件读取数据,或者将处理好的数据保存到文件中。Pandas 支持多种常见的文件格式,如 CSV、Excel 等。

读取数据

示例:

# 读取 CSV 文件
df = pd.read_csv('data.csv')# 读取 Excel 文件
df = pd.read_excel('data.xlsx')

保存数据

示例:

# 保存为 CSV,index=False 表示不保存索引
df.to_csv('output.csv', index=False)# 保存为 Excel,index=False 表示不保存索引
df.to_excel('output.xlsx', index=False)

以上就是 Pandas 的一些基本运用。掌握了这些内容,你就可以应对大部分基础的数据处理和分析任务了。当然,Pandas 的功能远不止这些,还有很多高级功能等待你去探索。希望本文能帮助你快速入门 Pandas,在数据处理的道路上越走越远。 

 

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

相关文章:

  • 传统RNN模型
  • vcs门级仿真(后仿真)指南
  • Spring、Spring MVC、Spring Boot、Spring Cloud的联系和区别
  • 异构融合 4A:重构高性能计算与复杂场景分析的安全与效率边界
  • gpt面试题
  • MCP vs 传统集成方案:REST API、GraphQL、gRPC的终极对比
  • 深入浅出Proxy与Reflect:从“黑中介“到“数据管家“的进阶之路
  • OpenCV Mat UMat GpuMat Matx HostMem InputArray等设计哲学
  • 京东AI投资版图扩张:具身智能与GPU服务器重构科研新范式
  • 基于单片机智能药盒/智能药箱/定时吃药系统
  • PHP 文件上传
  • Python----大模型(基于Fastapi+streamlit的机器人对话)
  • 自研能管项目开发界面
  • 【Linux基础知识系列】第五十六篇 - 使用File命令识别文件类型
  • 记一次flink资源使用优化
  • Java内部类与Object类深度解析
  • 聊聊登录接口的混合加密:AES+RSA双剑合璧
  • 【node】npm包本地开发与调试
  • 深入解析Hadoop中的Region分裂与合并机制
  • 关于集合的底层数据结构
  • 【C++进阶】揭秘list迭代器:从底层实现到极致优化
  • Pulsar存储计算分离架构设计之Broker无状态
  • 飞算科技:用AI与数智科技,为产业数字化转型按下“加速键”
  • 《声音分类模型》
  • 一、Vue概述以及快速入门
  • 深度学习 --- 激活函数
  • Datawhale 202507 夏令营:让AI学会数学推理
  • Ultralytics代码详细解析(四:engine->trainer.py 训练部分代码详解)
  • 架构演进核心路线:从离线仓库到实时湖仓一体
  • EMA《2025-2028年药品监管中的数据与AI 1.3版》信息分析