Pandas -----------------------基础知识(一)

目录

Series对象

属性和方法

布尔值列表获取Series对象中部分数据

运算

DateFrame对象

常用属性

常见方法

 运算

总结


Series对象

是DataFrame的列对象或者行对象

  • 生成Series对象
  • 生成索引
  • 使用元组创建Series对象
  • 使用字典创建Series对象

通过Pandas创建对象  自定义索引

import pandas as pd
# s1 = pd.Series(arr)
s1 = pd.Series(arr,index=['a','b','c','d','e','f','g','h','i'])
print(s1)
print(type(s1))

创建包含字符串、整数的Series对象

# s1 = pd.Series(['Lisa',18,'女']) -- 自动生成索引
s1 = pd.Series(['Lisa',18,'女'],index=['姓名','年龄','性别'])
print(s1)
print("-------------------------------------------")
print(type(s1))

使用元组创建Series对象

s1 =  pd.Series(('张三','李四'),index=['a','b'])
print(s1)
print("-------------------------------------------")
print(type(s1))

使用字典创建Series对象

s1 = pd.Series(
    {'姓名':'孙悟空',
     '技能':'火眼金睛',
     '师傅':'唐僧'
     }
    ,index =['姓名','师傅'])
print(s1)
print("-------------------------------------------")
print(type(s1))

属性和方法

常用属性

  • 查看对象值数量
  • 查看对象维度
  • 查看对象数据类型
  • 查看对象值
  • 获取对象索引
print('=================== 常用属性 ===================')
# 查看s对象值数量
print("size: ", s1.size)

# 查看s对象维度, 返回一个单个元素的元组, 元素个数代表维度数, 元素值代表值数量
print("shape: ", s1.shape)

# 查看s对象数据类型
print("dtype: ", s1.dtype)

# 获取s对象的数据值, 返回numpy的ndarray数组类型
print('values: ', s1.values)

# 获取s对象的索引
print('index: ', s1.index)

常用方法

  • 查看对象值数量
  • 查看对象前3个值 默认是五个
  • 查看对象后五个值
  • 获取对象的索引
  • 将对象转换成python列表
  • 将对象转换成df对象
  • 对象中数据的基础统计信息
  • 对象数据值去重 返回对象
  • 对象数据值去重 返回数组
  • 根据对象数据值排序,默认升序
  • 根据对象索引值排序,默认升序
  • 求对象不同值的数量 类似于分组计数
# 查看s对象不同值数量
print(s1.value_counts())
# 查看s对象前3个值, n默认等于5
print(s1.head(3))

# 查看s对象后5个值, n默认等于5
s1.tail()

# 获取s对象的索引
print(s1.keys())

# s对象转换成python列表
print(list(s1))

# s对象转换成df对象
print(s1.to_frame())
print(type(s1.to_frame()))

# s对象中数据的基础统计信息
print(s1.describe())
print('------------------------------')
# s对象最大值、最小值、平均值、求和值...
print(s1.max())
print(s1.min())
print(s1.mean())
print(s1.sum())

# s对象数据值去重, 返回s对象
print(s1.drop_duplicates())
print(type(s1.drop_duplicates()))
print('------------------')
# s对象数据值去重, 返回数组
print(s1.unique())
print(type(s1.unique()))
# 
# s对象数据值排序, 默认升序
print(s1.sort_values())
print('----------------------------------')
# print(s1.sort_values(ascending=False))

# s对象索引值排序, 默认升序
print(s1.sort_index())
print('----------------------------------')
# print(s1.sort_index(ascending=False))

布尔值列表获取Series对象中部分数据

import pandas as pd
# 1 加载并观察数据集

df = pd.read_csv('./data/a_scientists.csv')
df

ages = df['Age']
ages

#求高于平均年龄的人员信息

df[ages > ages.mean()]

df[df['Age'] > df['Age'].mean()]

不加df是一个布尔值列表

运算

ages * 2
# 等价于 ages + ages

# 将列表[1, 10, 100] 转成 Series对象 s2
s2 = pd.Series([1, 10, 100])
print(s2)
print('------------------------')
print(type(s2))

ages + s2

DateFrame对象

DataFrame是Pandas中的最基本的数据结构对象,简称df;可以认为df就是一个二维数据表,这个表有行有列有索引

  • 将 Series对象 通过 to_frame() 转成 df
  • 使用 列表 加 元组 返回 df
  •  使用 字典 返回 df
s2 = pd.Series(['张三', '李四', '王五'])
print(type(s2))
print('-------------------')
print(type(s2.to_frame()))

studentList = [
    (1, '张三', 18),
    (2, '李四', 14),
    (3, '王五', 19)
]

df3 = pd.DataFrame(studentList, columns=['编号', '姓名', '年龄'], index=['A', 'B', 'C'])
print(df3)
print('----------------')
print(type(df3))

dict1 = {
    "id" : [1, 2, 3],
    "name" : ['张三', '李四', '王五'],
    "city" : ['洛阳', '信阳', '安阳']
}

df4 = pd.DataFrame(dict1)
print(df4)
print('----------------')
print(type(df4))

常用属性

  • 查看维度, 返回元组类型 -> (行数, 列数), 元素个数代表维度数
  • 查看数据值个数, 行数*列数, NaN值也算
  • 查看数据值, 返回numpy的ndarray类型
  • 查看维度数
  • 返回列名和列数据类型
  • 查看索引值, 返回索引值对象
  • 查看列名, 返回列名对象
print('=============== 常用属性 ===============')
# 查看维度, 返回元组类型 -> (行数, 列数), 元素个数代表维度数
print(df.shape)

# 查看数据值个数, 行数*列数, NaN值也算
print(df.size)

# 查看数据值, 返回numpy的ndarray类型
print(df.values)
# print('---------------------------')
print(type(df.values))

# 查看维度数
print(df.ndim)

# 返回列名和列数据类型
print(df.dtypes)

# 查看索引值, 返回索引值对象
print(df.index)

# 查看列名, 返回列名对象
print(df.columns)

常见方法

  • 查看前5行数据
  • 查看后5行数据
  • 查看df的基本信息
  • 查看df对象中所有数值列的描述统计信息
  • 查看df对象中所有非数值列的描述统计信息
  • # exclude:不包含指定类型列
  • 查看df对象中所有列的描述统计信息
  • # include:包含指定类型列, all代表所有类型
  • 查看df的行数
  • 查看df各列的最小值
  • 查看df各列的非空值个数
  • 查看df数值列的平均值
print('=============== 常用方法 ===============')
# 查看前3行数据
print(df.head(3))
# 查看后3行数据
print(df.tail(3))

# 查看df的基本信息
print(df.info())

# 查看df对象中所有数值列的描述统计信息
print(df.describe())

# 查看df对象中所有非数值列的描述统计信息
# exclude:不包含指定类型列
print(df.describe(exclude=['int', 'float']))

# 查看df对象中所有列的描述统计信息
# include:包含指定类型列, all代表所有类型
print(df.describe(include='all'))

# 查看df的行数
print(len(df))

# 查看df各列的最小值
print(df.min())

# # 查看df各列的非空值个数
print(df.count())

# # 查看df数值列的平均值
print(df.mean())

 运算

import pandas as pd

# 加载数据 df
df = pd.read_csv('./data/a_scientists.csv')
df

df + df  
# (字符串类型是拼接  数值则是相加)  (用df+2会报错 因为字符串不能与数值相加)

df.index.isin([0, 2, 4])

df[df.index.isin([0, 2, 4])]

df['Age'].isin([77, 41, 66])

df[df['Age'].isin([77, 41, 66])]

总结

  • <s/df>表示s对象或df对象
  • <s/df>.size # 返回数据个数
  • <s/df>.shape # s返回(行数,),df返回(行数,列数)
  • <s/df>.dtypes # s返回数据类型,df返回列名和该列数据的类型
  • <s/df>.values # 返回全部值
  • <s/df>.index # 查看索引
  • <s/df>.head() # s返回前5个数据,df返回前5行数据
  • <s/df>.tail() # s返回后5个数据,df返回后5行数据
  • df.info() # 返回df的基本信息:索引情况,以及各列的名称、数据数量、数据类型;s对象没有这个函数
  • <s/df>.describe() # 返回s或df对象中所有数值类型数据的基础统计信息
  • df.describe(include='all') # 返回df对象中全部列数据的基础统计信息
  • s对象的判断表达式返回由布尔值构成的numpy.ndarray数组

  • 布尔值列表或数组获取s或df对象中部分数据的方法:返回True对应的(行)数据 在外面套一层

  • 运算时 字符会拼接 数值会进行计算 如果类型不匹配会报错  索引值不对应会返回NaN

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

面试官问:你最自豪的成就是什么?

当面试官问你最自豪的成就是什么&#xff0c;我们首先分析面试官为什么这么问&#xff0c;他想通过这问题得到什么信息&#xff1f; 你最自豪的成就是什么&#xff1f; 其实反应了一个人的职业驱动力&#xff0c;比如我们常说的&#xff1a;上进心&#xff0c;主动积极性&…

【机器学习-监督学习】朴素贝叶斯

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈Python机器学习 ⌋ ⌋ ⌋ 机器学习是一门人工智能的分支学科&#xff0c;通过算法和模型让计算机从数据中学习&#xff0c;进行模型训练和优化&#xff0c;做出预测、分类和决策支持。Python成为机器学习的首选语言&#xff0c;…

【小沐学GIS】基于Openstreetmap创建Sionna RT场景(Python)

文章目录 1、简介1.1 blender 2、下载和安装2.1 Python2.2 jupyter 3、运行结语 1、简介 1.1 blender https://www.blender.org/ Blender 是一款免费开源的3D创作套件。 使用 Blender&#xff0c;您可以创建3D可视化效果&#xff0c;例如静态图像、3D动画、VFX&#xff08;…

【UE5】将2D切片图渲染为体积纹理,最终实现使用RT实时绘制体积纹理【第一篇-原理】

如果想直接制作&#xff0c;请看【第二篇】内容 这次做一个这样的东西&#xff0c;通过在2DRT上实时绘制&#xff0c;生成动态的体积纹理&#xff0c;也就是可以runtime的VDB 设想的文章流程: 对原理进行学习制作体积渲染制作实时绘制 第一篇&#xff08;本篇&#xff09;是对“…

【Rust练习】16.模式

文章题目来自&#xff1a;https://practice-zh.course.rs/pattern-match/patterns.html 1 &#x1f31f;&#x1f31f; 使用 | 可以匹配多个值, 而使用 … 可以匹配一个闭区间的数值序列 fn main() {} fn match_number(n: i32) {match n {// 匹配一个单独的值1 > println!(…

【赵渝强老师】K8s中的Deployment控制器

K8s的Deployment将Pod部署成无状态的应用程序&#xff0c;它只关心Pod的数量、Pod更新方式、使用的镜像和资源限制等。由于是无状态的管理方式&#xff0c;因此Deployment中没有角色和顺序的概念&#xff0c;换句话说&#xff1a;Deployment中没有状态。   通过使用Deploymen…

【远程调用PythonAPI-flask】

文章目录 前言一、Pycharm创建flask项目1.创建虚拟环境2.创建flask项目 二、远程调用PythonAPI——SpringBoot项目集成1.修改PyCharm的host配置2.防火墙设置3.SpringBoot远程调用PythonAPI 前言 解决Pycharm运行Flask指定ip、端口更改无效的问题 首先先创建一个新的flask项目&…

C语言 | Leetcode C语言题解之第415题字符串相加

题目&#xff1a; 题解&#xff1a; char* addStrings(char* num1, char* num2) {int i strlen(num1) - 1, j strlen(num2) - 1, add 0;char* ans (char*)malloc(sizeof(char) * (fmax(i, j) 3));int len 0;while (i > 0 || j > 0 || add ! 0) {int x i > 0 ?…

Games101学习 - 着色

本文主要讲述Games101中的着色部分。 文中将使用UE的UTexture2D接口&#xff0c;若不了解可以看这篇&#xff1a; https://blog.csdn.net/grayrail/article/details/142165442 1.面积比计算三角形坐标 通过三角形面积比可以得到三角形的坐标alpha、beta、gamma从而进行插值&a…

ChatGPT 4o 使用指南 (9月更新)

首先基础知识还是要介绍得~ 一、模型知识&#xff1a; GPT-4o&#xff1a;最新的版本模型&#xff0c;支持视觉等多模态&#xff0c;OpenAI 文档中已经更新了 GPT-4o 的介绍&#xff1a;128k 上下文&#xff0c;训练截止 2023 年 10 月&#xff08;作为对比&#xff0c;GPT-4…

【Linux笔记】虚拟机内Linux内容复制到宿主机的Window文件夹(文件)中

一、共享文件夹 I、Windows宿主机上创建一个文件夹 目录&#xff1a;D:\Centos_iso\shared_files II、在VMware中设置共享文件夹 1、打开VMware Workstation 2、选择需要设置的Linux虚拟机&#xff0c;点击“编辑虚拟机设置”。 3、在“选项”标签页中&#xff0c;选择“共…

Vue学习记录之三(ref全家桶)

ref、reactive是在 setup() 声明组件内部状态用的&#xff0c; 这些变量通常都要 return 出去&#xff0c;除了供 < template > 或渲染函数渲染视图&#xff0c;也可以作为 props 或 emit 参数 在组件间传递。它们的值变更可触发页面渲染。 ref &#xff1a;是一个函数&…

前端组件库

vant2现在的地址 Vant 2 - Mobile UI Components built on Vue

【学习笔记】手写Tomcat 四

目录 一、Read 方法返回 -1 的问题 二、JDBC 优化 1. 创建配置文件 2. 创建工具类 3. 简化 JDBC 的步骤 三、修改密码 优化返回数据 创建修改密码的页面 注意 测试 四、优化响应动态资源 1. 创建 LoginServlet 类 2. 把登录功能的代码放到 LoginServlet 类 3. 创…

【工具变量】科技金融试点城市DID数据集(2000-2023年)

时间跨度&#xff1a;2000-2023年数据范围&#xff1a;286个地级市包含指标&#xff1a; year city treat post DID&#xff08;treat*post&#xff09; 样例数据&#xff1a; 包含内容&#xff1a; 全部内容下载链接&#xff1a; 参考文献-pdf格式&#xff1a;https://…

Rust GUI框架 tauri V2 项目创建

文章目录 Tauri 2.0创建应用文档移动应用开发 Android 前置要求移动应用开发 iOS 前置要求参考资料 Tauri 2.0 Tauri 是一个构建适用于所有主流桌面和移动平台的轻快二进制文件的框架。开发者们可以集成任何用于创建用户界面的可以被编译成 HTML、JavaScript 和 CSS 的前端框架…

使用madExcept检测内存泄漏

代码异常堆栈跟踪&#xff1a;Mad Except 一、安装 官网 运行&#xff0c;选择madExcept5然后安装。 输入yes继续 二、使用 新建一个VCL项目 在project中多了一项设置 选择OK后会发现项目多了几个引用单元。 此时运行程序&#xff0c;再退出&#xff0c;会显示没有任何内存…

嵌入式入门小工程

此代码基于s3c2440 1.点灯 //led.c void init_led(void) {unsigned int t;t GPBCON;t & ~((3 << 10) | (3 << 12) | (3 << 14) | (3 << 16));t | (1 << 10) | (1 << 12) | (1 << 14) | (1 << 16);GPBCON t; }void le…

道路裂缝,坑洼,病害数据集-包括无人机视角,摩托车视角,车辆视角覆盖道路

道路裂缝&#xff0c;坑洼&#xff0c;病害数据集 包括无人机视角&#xff0c;摩托车视角&#xff0c;车辆视角 覆盖道路所有问题 一共有八类16000张 1到7依次为: [横向裂缝, 纵向裂缝, 块状裂缝, 龟裂, 坑槽, 修补网状裂缝, 修补裂缝, 修补坑槽] 道路病害&#xff08;如裂缝、…

CTC loss 博客转载

论文地址&#xff1a; https://www.cs.toronto.edu/~graves/icml_2006.pdf 为了对应这个图&#xff0c;我们假设一种符合的模型情况&#xff1a; 英文OCR&#xff0c;37个类别&#xff08;26个小写字母10个汉字空格&#xff09;&#xff0c;最大输出长度8个字符 模型预测结果…