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

news2024/9/20 13:45:22

目录

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.coloradmin.cn/o/2149067.html

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

相关文章

RealityCapture1.4设置成中文

RealityCapture 1.4 设置成中文的教程 RealityCapture 1.4 是一款强大的三维建模软件&#xff0c;它能够从图像或激光扫描中创建实景三维模型和正射影像等。以下是一个详细的教程&#xff0c;指导您如何将 RealityCapture 1.4 的界面设置为中文。 1.找到设置按钮 在WORKFLOW…

【一起学NLP】Chapter1-基本语法与神经网络的推理

备注&#xff1a;本专栏为个人的NLP学习笔记&#xff0c;欢迎大家共同讨论交流学习。代码同步&#xff1a;https://github.com/codesknight/Learning-NLP-Together 参考书籍&#xff1a;《深度学习进阶&#xff1a;自然语言处理》——斋藤康毅 目录 基础知识点复习测试环境使用…

OceanMesh2D | 基于精确距离的沿海海洋/浅水流动模型二维自动网格生成MATLAB工具箱推荐

Precise distance-based two-dimensional automated mesh generation toolbox intended for coastal ocean/shallow water flow models OceanMesh2D | 基于精确距离的沿海海洋/浅水流动模型二维自动网格生成MATLAB工具箱推荐 1. 简介2. 特点3. 代码基本要求:4. 基本流程 1. 简…

一、Numpy使用

1、numpy的简单使用 import numpy as np #利用as给numpy起一个别名np# 使用array来承接这个数组 array np.array([[1,2,3],[2,3,4]])print(array) print("number of dim:", array.ndim) # ndim 数组维度 print("shape:", array.shape) # 数组的形…

c++编程(27)——IO流(1)

欢迎来到博主的专栏&#xff1a;c编程 博主ID&#xff1a;代码小豪 文章目录 标准IO流标准输入输出cincin的四个状态标志 标准IO流 <iostream>库中的IO类在之前已经经常使用了&#xff0c;但是我们还从未仔细的了解过。在c标准库中&#xff0c;IO类分为两种&#xff0c;…

sqli-labs靶场自动化利用工具——第2关

文章目录 概要整体架构流程技术细节执行效果小结 概要 Sqli-Labs靶场对于网安专业的学生或正在学习网安的朋友来说并不陌生&#xff0c;或者说已经很熟悉。那有没有朋友想过自己开发一个测试脚本能实现自动化化测试sqli-labs呢&#xff1f;可能有些人会说不是有sqlmap&#…

摄影社团管理系统

基于springbootvue实现的摄影社团管理系统 &#xff08;源码L文ppt&#xff09;4-075 第四章 系统概要设计 4.1系统设计原理 设计原理是指系统的设计来源&#xff0c;它将需求合理地分解为功能&#xff0c;并抽象地描述系统的模块和其下的功能。在功能模块化后&#xff…

【数据结构】排序算法---桶排序

文章目录 1. 定义2. 算法步骤3. 演示3.1 动态演示13.2 动态演示23.3 图片演示13.4 图片演示2 4. 性质5. 算法分析6. 代码实现C语言PythonJavaCGo 结语 1. 定义 桶排序&#xff08;英文&#xff1a;Bucket sort&#xff09;是计数排序的升级版&#xff0c;适用于待排序数据值域…

【算法】最长公共子序列(C/C++)

最长公共子序列&#xff08;LCS&#xff0c;Longest Common Subsequence&#xff09;问题简称&#xff08;LCS&#xff09;&#xff0c;是动态规划里面里面的基础算法。它的所解决的问题是&#xff0c;在两个序列中找到一个序列&#xff0c;使得它既是第一个序列的子序列&#…

SpringCloud微服务实现服务降级的最佳实践

Spring Cloud是一种用于快速构建分布式系统的框架&#xff0c;它提供了许多有用的功能&#xff0c;其中包括服务降级。 服务降级是一种保护机制&#xff0c;它可以在面临高并发或故障时保持服务的稳定性。当系统资源不足或服务出现故障时&#xff0c;服务降级可以通过关闭一些功…

2.计算机网络基础

2. 计算机网络基础 (1) 计算机网络的定义 计算机网络是指将地理位置不同、具有独立功能的多个计算机系统通过通信线路和设备连接起来,以功能完善的网络软件实现网络中资源共享的系统。最简单的定义是:计算机网络是一些互相连接的、自治的计算机系统的集合。最庞大的计算机网…

MATLAB系列03:分支语句和编程设计

MATLAB系列03&#xff1a;分支语句和编程设计 3. 分支语句和编程设计3.1 自上而下的编程方法简介3.2 伪代码的应用3.3 关系运算符和逻辑运算符3.3.1 关系运算符3.3.2 小心和~运算符3.3.3 逻辑运算符3.3.4 逻辑函数 3.4 选择结构3.4.1 if结构3.4.2 switch结构3.4.3 try/catch结构…

c++的decltype关键字

它可以将变量声明为表达式指定的类型

C语言程序二级 之知识点 程序填空 程序设计 程序修改

一 知识点 宏定义是指用一个宏名(名字)来代表一个字符串。宏定义的功能是在编译预处理时&#xff0c;对程序中所有出现的"宏名"都用宏定义中的字符串去代换&#xff0c;这称为"宏代换"或"宏展开"。无参宏定义的一般格式&#xff1a;#define 标识…

中国光刻机突破28nm?进步巨大但前路漫漫

在近期的报道中&#xff0c;中国国产光刻机进入推广目录的消息引发了广泛关注&#xff0c;其中提到的一款氟化亚光刻机的分辨率达到了65nm&#xff0c;被视作具备28nm制程节点的生产能力。那么&#xff0c;国产光刻机真的已经突破了28nm制程节点了吗&#xff1f;本文将对相关技…

Mysql梳理6——order by排序

目录 6 order by排序 6.1 排序数据 6.2 单列排序 6.3 多行排列 6 order by排序 6.1 排序数据 使用ORDER BY字句排序 ASC&#xff08;ascend&#xff09;:升序DESC(descend):降序 ORDER BY子句在SELECT语句的结尾 6.2 单列排序 如果没有使用排序操作&#xff0c;默认…

第157天: 安全开发-Python 自动化挖掘项目SRC 目标FOFA 资产Web 爬虫解析库

案例一&#xff1a;Python-WEB 爬虫库&数据解析库 这里开发的内容不做过多描述&#xff0c;贴上自己写的代码 爬取数据 要爬取p标签&#xff0c;利用Beautyfulsoup模块 import requests,time from bs4 import BeautifulSoup#url"https://src.sjtu.edu.cn/rank/firm…

教你建设智慧数字乡村如何选供应商,如何落地项目

说到数字乡村建设&#xff0c;大家都有自己的思路和想法&#xff0c;那么如果现在让你来做这个项目你又如何来实施&#xff1f;都需要什么方式&#xff1f;都要具备什么条件&#xff1f; 下面我来说一下我的个人思路&#xff0c;要做数字乡村我觉得前提是必须满足几个条件&…

可视化工具Gephi安装要求和特点

Gephi是进行社会图谱数据可视化分析的工具&#xff0c;不但能处理大规模数据集并且Gephi是一个可视化的网络探索平台&#xff0c;用于构建动态的、分层的数据图表。 Gephi安装要求 ① gephi是一个可多平台使用的绘图软件&#xff0c;能在Windows&#xff0c;OS&#xff0c;Lin…

平价头戴式蓝牙耳机有哪些?四款公认平价性能超强品牌机型推荐

在追求高品质音乐体验的同时&#xff0c;许多消费者希望找到价格亲民的头戴式蓝牙耳机&#xff0c;市场上不乏性能卓越、价格实惠的产品&#xff0c;它们凭借出色的音质、舒适的佩戴体验和可靠的续航能力赢得了用户的青睐&#xff0c;那么在众多的头戴式蓝牙耳机内&#xff0c;…