【Pandas】pandas用法解析(上)

news2025/1/18 11:01:17

目录

一、生成数据表

1.导入pandas库

2.导入CSV或者xlsx文件

3.用pandas创建数据表

二、数据表信息查看

1.维度查看

2.数据表基本信息(维度、列名称、数据格式、所占空间等)

3.每一列数据的格式

4.某一列格式

5.空值判断

6.查看某一列空值

7.查看某一列的唯一值

8.查看数据表的值

9.查看列名称

10.查看前5行数据、后5行数据

三、数据表清洗

1.用数字0填充空值

2.使用列prince的均值对NA进行填充

3.清除city字段的字符空格

4.大小写转换

5.更改数据格式

6.更改列名称

7.删除后出现的重复值

8.删除先出现的重复值

9、数据替换

四、数据预处理

1.数据表合并

2.设置索引列

3.按照特定列的值排序

4.按照索引列排序

5.如果prince列的值>3000,group列显示high,否则显示low.

​6.对复合多个条件的数据进行分组标记

7.对category字段的值依次进行分列,并创建数据表,索引值为df_inner的索引列,列名称为category和size 

​8.将完成分裂后的数据表和原df_inner数据表进行匹配


五、数据提取

六、数据筛选

七、数据汇总

八、数据统计

九、数据输出


一、生成数据表

1.导入pandas库

import pandas as pd

2.导入CSV或者xlsx文件

df = pd.DataFrame(pd.read_csv('filename.csv'))
df = pd.DataFrame(pd.read_excel('filename.xlsx'))

3.用pandas创建数据表

import numpy as np

df = pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006], 
                    "date":pd.date_range('20130102', periods=6),
                    "city":['Beijing ', 'SH', ' guangzhou ', 'Shenzhen', 'shanghai', 'BEIJING '],
                    "age":[23,44,54,32,34,32],
                    "category":['100-A','100-B','110-A','110-C','210-A','130-F'],
                    "price":[1200,np.nan,2133,5433,np.nan,4432]},
                     columns =['id','date','city','category','age','price'])

二、数据表信息查看

1.维度查看

df.shape

df.shape
Out[36]: (6, 6)

2.数据表基本信息(维度、列名称、数据格式、所占空间等)

df.info()

3.每一列数据的格式

df.dtypes

4.某一列格式

df['date'].dtype

df['price'].dtype

5.空值判断

df.isnull() 

6.查看某一列空值

7.查看某一列的唯一值

8.查看数据表的值

df.values

9.查看列名称

df.columns

10.查看前5行数据、后5行数据

df.head() #默认前5行数据
df.tail() #默认后5行数据

三、数据表清洗

1.用数字0填充空值

df.fillna(value=0)

2.使用列price的均值对NA进行填充

df['price'].fillna(df['price'].mean())

3.清除city字段的字符空格

df['city']=df['city'].map(str.strip)

4.大小写转换

df['city']=df['city'].str.lower()

5.更改数据格式

df['price'].astype('int')

6.更改列名称

df.rename(columns={'category': 'category-size'}) 

7.删除后出现的重复值

df['city'].drop_duplicates()

8.删除先出现的重复值

df['city'].drop_duplicates(keep='last')

9、数据替换

df['city'].replace('sh', 'shanghai')

四、数据预处理

df1=pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006,1007,1008],
                  "gender":['male','female','male','female','male','female','male','female'],
                  "pay":['Y','N','Y','Y','N','Y','N','Y',],
                  "m-point":[10,12,20,40,40,40,30,20]})

1.数据表合并

(1)merge

df_inner=pd.merge(df,df1,how='inner')  # 匹配合并,交集
df_left=pd.merge(df,df1,how='left') 


df_right=pd.merge(df,df1,how='right')
df_outer=pd.merge(df,df1,how='outer')  #并集

(2)append

result = df1.append(df2)

df_result = df3.append(df4)

df3 = pd.DataFrame({'A':['A0','A1','A2','A3'],
                    'B':['B0','B1','B2','B3'],
                    'C':['C0','C1','C2','C3']})
df4 = pd.DataFrame({'A':['A4','A5','A6','A7'],
                    'B':['B4','B5','B6','B7'],
                    'C':['C4','C5','C6','C7']})

df_result = df3.append(df4)

 (3)join

result = left.join(right, on='key')

(4)concat 

df5 = pd.DataFrame({'A':['A4','A5','A6','A7'],
                    'B':['B4','B5','B6','B7'],
                    'C':['C4','C5','C6','C7']})

result = pd.concat([df3,df4,df5])

2.设置索引列

result.set_index('A')

3.按照特定列的值排序

df_inner.sort_values(by=['age'])

4.按照索引列排序

 df=result.set_index('A')

df.sort_index()

5.如果prince列的值>3000,group列显示high,否则显示low.

df_inner['group'] = np.where(df_inner['price'] > 3000,'high','low')



6.对复合多个条件的数据进行分组标记

 df.loc[(df['city'] == 'beijing') & (df['price'] >= 4000), 'sign']=1


7.对category字段的值依次进行分列,并创建数据表,索引值为df_inner的索引列,列名称为category和size 

pd.DataFrame((x.split('-') for x in df_inner['category']),index=df_inner.index,columns=['category','size'])



8.将完成分裂后的数据表和原df_inner数据表进行匹配

 df_inner=pd.merge(df_inner,df_split,right_index=True, left_index=True)

五、数据提取

六、数据筛选

七、数据汇总

八、数据统计

九、数据输出

————————————————
参考链接:https://blog.csdn.net/yiyele/article/details/80605909

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/678088.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

黑马程序员前端 Vue3 小兔鲜电商项目——(七)详情页

文章目录 路由配置模板代码配置路由链接跳转 渲染基础数据封装接口渲染数据 热榜区域模板代码封装接口渲染数据 图片预览组件封装小图切换大图显示模版代码绑定事件 放大镜效果图片优化 SKU组件熟悉全局组件统一插件化插件化开发插件注册 路由配置 模板代码 创建 src\views\D…

快速排序-详解附Python代码

排序思路 取一个元素P(第一个元素),目标是使得元素P归位;列表被元素P分成了两个部分,左边的比P小,右边的比P大;分别再对左右两个部分的列表重复1,2步骤,递归完成排序 评…

7Z010 引脚功能详解

本文针对7Z010芯片,详细讲解硬件设计需要注意的技术点,可以作为设计和检查时候的参考文件。问了方便实用,按照Bank顺序排列,包含配置Bank、HR Bank、HP Bank、GTX Bank、供电引脚等。 参考文档包括: ds187-XC7Z010-X…

前端编写贪吃蛇游戏-附详细代码

当我们在前端编写贪吃蛇游戏时&#xff0c;可以按照以下步骤进行&#xff1a; 先看截图&#xff1a; 设置游戏板&#xff1a;创建一个HTML元素作为游戏板&#xff0c;可以使用<div>元素&#xff0c;并为其设置合适的样式。 绘制蛇和食物&#xff1a;使用JavaScript代码…

【Linux 基础入门 + Java项目部署】

文章目录 Linux 基础入门1 Linux 简介1.1不同应用领域的主流操作系统1.2 Linux发展历史与 Linux系统版本 2 Linux 安装2.1 安装方式介绍2.2 安装Linux2.3 网卡设置2.4 安装SSH连接工具 Linux和Windows目录结构对比3 Linux 常用命令3.1 Linux命令初体验3.2 文件目录操作命令lscd…

7A50T 引脚功能详解

本文针对7A50T芯片&#xff0c;详细讲解硬件设计需要注意的技术点&#xff0c;可以作为设计和检查时候的参考文件。问了方便实用&#xff0c;按照Bank顺序排列&#xff0c;包含配置Bank、HR Bank、HP Bank、GTP Bank、供电引脚等。 参考文档包括&#xff1a; ds181_Artix_7_D…

day59_layuimini_crud

今日内容 一、Layui Mini 零、 复习昨日 写在前面的前面 项目开发模式 前端后端数据怎么传输?前端发数据到后台 from,a,ajax, 后端发数据到前端 以前是使用servlet技术,将数据存入请求域/会话域,后台跳转页面到前端,前端jsp页面展现数据现在使用前后分离技术,后端将数据封装成…

【消费战略】解读100个食品品牌丨红海缝隙杀出的乳品独角兽 “认养一头牛”!

认养一头牛品牌历程 2014 年 在河北故城建立第一座大型现代化牧场&#xff0c;从澳洲引进6000头荷斯坦奶牛。 2016 年 11月&#xff0c;在杭州正式创立认养一头牛品牌。 2018年 与天猫达成战略合作&#xff0c;开启会员运营时代。 2020年 跻身天猫“双十一”亿元俱乐部…

Python学习笔记(2)--字面量,注释,变量,数据类型,数据类型转换,标识符,运算符

传送门>B站黑马python入门教程 目录 1.字面量2.注释3.变量4.数据类型5.数据类型转换6.标识符7.运算符算术运算符赋值运算符 1.字面量 字面量: 代码中被固定写的值 python常用的6种数据类型为 数字,字符串,列表,元组,集合,字典 目前基础部分学习字符串,整数,浮点数即可 字符…

UE5 蓝图节点常用大全(持续更新)

文章目录 前言蓝图节点前言 本文采用虚幻5.2.1版本,以图文的方式对蓝图节点进行介绍,并有中英文节点名称可参考。 蓝图节点 英文中文节点说明Set Visibility设置可视性New Visibility:勾选时可视场景组件Propagate to Children:勾选时子项受影响Destroy Actor销毁Actor销毁…

day60_echarts

Echarts ECharts是一款基于JavaScript的数据可视化图表库&#xff0c;提供直观&#xff0c;生动&#xff0c;可交互&#xff0c;可个性化定制的数据可视化图表。ECharts最初由百度团队开源&#xff0c;并于2018年初捐赠给Apache基金会&#xff0c;成为ASF孵化级项目。 2021年1月…

【Python】异常处理 ② ( 异常类型简介 | 捕获并处理指定异常 | 捕获多个类型异常 )

文章目录 一、Python 捕获指定类型异常1、异常类型简介2、捕获并处理指定异常3、代码实例 - 捕获并处理指定异常4、代码实例 - 异常捕获失败案例 二、Python 捕获多个类型异常1、捕获多个异常语法2、代码实例 - 捕获多个异常 一、Python 捕获指定类型异常 1、异常类型简介 Pyth…

原生HTML+CSS+JS制作自己的导航主页

如果你想使用原生HTML、CSS和JS制作自己的导航主页&#xff0c;你可以按照以下步骤进行操作&#xff1a; 先看效果图&#xff1a; 创建HTML文件&#xff1a;首先&#xff0c;创建一个新的HTML文件&#xff0c;并在文件中添加基本的HTML结构。你可以使用<!DOCTYPE html>…

【软件设计师暴击考点】计算机组成原理与体系结构高频考点暴击系列【一】

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;软件…

【Python】怎样能够除去三维图中超出坐标轴范围内的图形(绘制一个三维地形图,需要求大于某一个水平高度的区域)

要除去三维图中超出坐标轴范围内的图形&#xff0c;可以通过设置绘图参数和使用条件筛选来实现。下面是一种常用的方法&#xff1a; 绘制三维地形图&#xff0c;确保数据和坐标轴设置正确。选择图形对象&#xff08;例如&#xff0c;地形曲面&#xff09;并进入编辑模式。找到…

【博弈论笔记】第六章 不完全信息静态表示

文章目录 第六章 不完全信息静态表示6.1 不完全信息静态博弈和贝叶斯纳什均衡6.1.1 不完全信息静态博弈的例子6.1.2 不完全信息静态博弈的一般表示6.1.3 海萨尼均衡6.1.4 贝叶斯纳什均衡 6.2 暗标拍卖Summary 此部分博弈论笔记参考自经济博弈论&#xff08;第四版&#xff09;/…

YOLOV1论文解读及代码讲解

YoloV1论文解读 摘要 我们提出了一种新的物体检测方法&#xff1a;YOLO。之前的物体检测工作都是重新利用分类器来执行检测。相反&#xff0c;我们将物体检测视为一个回归问题&#xff0c;针对空间分离的边界框和相关类别概率。一个单一的神经网络可以在一次评估中直接从完整…

第3章 运输层

1​、在 ISO/OSI 参考模型中&#xff0c;对于运输层描述正确的有&#xff08; &#xff09; A. 为传输数据选择数据链路层所提供的最合适的服务B. 为系统之间提供面向连接的数据传输服务C. 可以提供端到端的差错恢复和流量控制&#xff0c;实现可靠的数据传输D. 提供路由选择…

Python基础篇(十):迭代器与生成器

前言 迭代器和生成器是Python中用于处理可迭代对象的重要概念。它们提供了一种有效的方式来遍历和访问集合中的元素&#xff0c;同时具有节省内存和惰性计算的特点。下面是关于迭代器和生成器的详细介绍和示例&#xff1a; 1. 迭代器&#xff08;Iterator&#xff09; 迭代器…

干货 | 水文数据跨域分级安全管理

以下内容整理自清华大学《数智安全与标准化》课程大作业期末报告同学的汇报内容。 一、研究背景 水文和水利都是国民经济建设和社会发展的基础信息资源&#xff0c;对于水文数据来说&#xff0c;它更加偏生态性&#xff0c;比如流域的情况&#xff0c;主要影响在政府政策制定。…