Python语言学习-pandas库学习

ops/2024/12/22 20:10:25/

一、什么是Pandas库

Pandas是python的第三方库,他用于灵活的数据操作,数据可视化,数据清洗,数据的聚合和转换,数据的可视化

二、安装pandas

在终端中运行

pip install pandas

导入Pandas库并重命名为pd

import pandas as pd

三、操作教学 

1.基础操作

我想存储一些人的信息和对应的数据

import pandas as pd
df = pd.DataFrame({"Name": ["Alice", "Bob", "Charlie"],"Age": [25, 30, 35],"City": ["New York", "Los Angeles", "Chicago"]}
)
print(df)

 结果如下:

DataFrame是一个二维数据结构,可以存储 不同类型的 (包括字符、整数、浮点值、 分类数据等)。它类似于电子表格,每一行都有自己的列标签和值

2.拿取指定列的数据

df['City']

打印的结果为:

3.从头开始创建DataFrame

a = pd.Series(["黑色","红色","白色"],name="color")
print(a)

我们打印出来的结果是:

4.如果你只是对你表的统计的数据感兴趣的话 

df = pd.DataFrame({"Name": ["Alice", "Bob", "Charlie"],"Age": [25, 30, 35],"City": ["New York", "Los Angeles", "Chicago"]}
)
print(df.describe())

结果为:

 5.分析csv文件中的数据

如果只读取数据

df = pd.read_csv("C:/Users/23226/Desktop/order_food.csv")
print(df)

结果为:

如果你只想看前几行的数据

df = pd.read_csv("C:/Users/23226/Desktop/order_food.csv")
print(df.head(8))

结果为:

如果你想分析每列的数据类型 

df = pd.read_csv("C:/Users/23226/Desktop/order_food.csv")
print(df.dtypes)

结果为:

如果你想读取更加详细的数据 

df = pd.read_csv("C:/Users/23226/Desktop/order_food.csv")
print(df.info)

结果为:

6.excel表格的操作 

与csv同理,读取方法换成read_excel()这个就可以了

7.如何选择感兴趣的列呢 

df = pd.read_csv("C:/Users/23226/Desktop/order_food.csv")
print(df['order_no'])

结果为:

需要选择多个列直接使用逗号拼接在中括号里面就OK了

如果你想知道返回数据的行数以及列数 

df = pd.read_csv("C:/Users/23226/Desktop/order_food.csv")
print(df[["order_no"]].shape)

结果为:

请注意,返回的数据包括行数和列数 

如果你想筛选固定条件的数据 

above_35 = df[df["Age"] > 35]

结果为:

如果你想检查数据是否大于某个值:

df["Age"] > 35

结果为:

如果你对某个列中的多个值的数据感兴趣

class_23 = df[df["Pclass"].isin([2, 3])]

isin中放入的是数据,df中放置的是列名

结果为: 

 

那么组合多个条件查询怎么办呢 

df[(df["Pclass"] == 2) | (df["Pclass"] == 3)]

结果为:

如果你想验证列中的数据是不是空值 

age_no_na = df[df["Age"].notna()]

筛选出所有“Age”列不为缺失值(NaN)的行,并将结果存储在一个新的 DataFrame 变量 

结果为

那么如果我对一个列名下35以上的人的姓名感兴趣呢

adult_names = df.loc[df["Age"] > 35, "Name"]

结果为:

如果我对特定行到特定行,特定列到特定列的数据感兴趣 

df.iloc[9:25, 2:5]

结果为:

切记 

  • 选择数据子集时,使用方括号。[]

  • 在这些括号内,您可以使用单个列/行标签、列表 的列/行标签、标签切片、条件表达式或 一个冒号。

  • 使用行时选择特定行和/或列 和列名称。loc

  • 使用 在表中的位置。iloc

  • 您可以根据 / 为选择分配新值。lociloc

8.增加列

df = pd.read_excel("C:/Users/23226/Desktop/ce.xlsx",sheet_name="sheet")
print(df)
df["超级无敌"] = df["实付金额"]*100
print(df.head())

等号前面为你要新增加的列名,后面是原本存在的列名,执行之后会帮我们新建一个列名“超级无敌”

运行结果为:

 

且等号后面的数据是可以和其他类的数据运算或者直接运算的 

9.修改列名

df = pd.read_excel("C:/Users/23226/Desktop/ce.xlsx", sheet_name="sheet")
print(df)
c = df.rename(columns={"订单编号": "订单ID"})
print(c)

columns中键值对里面的key是原表格中的列,value是要替换的列名

结果为:

 


http://www.ppmy.cn/ops/113456.html

相关文章

【磨皮美白】基于Matlab的人像磨皮美白处理算法,Matlab处理

博主简介:matlab图像代码项目合作(扣扣:3249726188) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于Matlab的图像磨皮美白处理,用matlab实现。 一、案例背景和算法介绍 …

Go中如何找到哪里依赖了某个module,如何找到所有module的最大GoVersion

如何找到哪里依赖了某个module 举例:如何找到哪个模块依赖了 github.com/Shopify/toxiproxy? 你可以使用以下方法查找 github.com/Shopify/toxiproxy 是通过哪个依赖模块引入的: 1. 使用 go mod graph go mod graph 命令可以输出模块的依…

AV1 Bitstream Decoding Process Specification--[7]: 语法结构语义-3

原文地址:https://aomediacodec.github.io/av1-spec/av1-spec.pdf 没有梯子的下载地址:AV1 Bitstream & Decoding Process Specification摘要:这份文档定义了开放媒体联盟(Alliance for Open Media)AV1视频编解码…

使用docker创建zabbix服务器

首先保证服务器已正常安装docker,然后执行下面这几个容器创建命令: #创建MySQL容器 docker run --name mysql-server -t --restartunless-stopped -e MYSQL_DATABASE"zabbix" -e MYSQL_USER"zabbix" -e MYSQL_PASSWORD"zabbix_…

Ajax 使用流程详解

一、Ajax 使用流程 创建一个 HTML 文件&#xff0c;设置页面的基本结构和引入必要的资源。 <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, ini…

基于JavaWeb开发的java+Springboot操作系统教学交流平台详细设计实现

基于JavaWeb开发的javaSpringbootmybatislayui的装修验收管理系统设计和实现 &#x1f345; 作者主页 网顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联系…

使用canal.deployer-1.1.7和canal.adapter-1.1.7实现mysql数据同步

1、下载地址 --查看是否开启bin_log日志&#xff0c;value on表示开启 SHOW VARIABLES LIKE log_bin; -- 查看bin_log日志文件 SHOW BINARY LOGS; --查看bin_log写入状态 SHOW MASTER STATUS; --查看bin_log存储格式 row SHOW VARIABLES LIKE binlog_format; --查看数据库服…

秋招自我介绍

1min 尊敬的面试官您好&#xff0c;感谢您百忙之中参加我的面试。我是来自北京大学的王峰。 在实习经历方面&#xff0c;我曾在美团和小米公司实习。在美团主要负责核身、质检、词云项目。 在核身项目中&#xff0c;完整的经历从0-1的项目上线过程 在质检项目中&#xff0c;进…