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

Pandas数据结构之Series对象

文章目录

  • 1. DataFrame对象
    • 1.1 创建DataFrame对象
    • 1.2 DataFrame对象常用属性和方法
    • 1.3 布尔值列表获取DataFrame对象中部分数据
    • 1.4 DataFrame对象的运算

1. DataFrame对象

DataFrame是一个表格型的结构化数据结构,它含有一组或多组有序的列(Series),每列可以是不同的值类型(数值、字符串、布尔值等)。

  • DataFrame是Pandas中的最基本的数据结构对象,简称df;可以认为df就是一个二维数据表,这个表有行有列有索引。
  • DataFrame是Pandas中最基本的数据结构,Series的许多属性和方法在DataFrame中也一样适用。

1.1 创建DataFrame对象

  • 通过 pd.read_csv(‘xxx’) 返回 df
import pandas as pd 
df = pd.read_csv(r"E:\数据分析\00_资料\02_数据_数分\data_v2\a_scientists.csv")
df

运行结果:
在这里插入图片描述- 将 Series对象 通过 to_frame() 转成 df

ages = df['Age']
type(ages)
# 将Series对象通过to_frame()转成df
df2 = ages.to_frame()
print(df2)
print(type(df2))

运行结果:
在这里插入图片描述

  • 使用 列表 加 元组 返回 df
# 使用列表 加 元组 返回 df
student_list = [(1,"张三",18),(2,"李四",19),(3,"王五",23)]
df3 = pd.DataFrame(student_list)
print(df3)
print(type(df3))

运行结果:
在这里插入图片描述

  • 使用 字典 返回 df
# 使用 字典 返回 df
dict1 = {'id':[1, 2, 3], 'name':['张三', '李四', '王五'], 'age':[18, 19, 28]}
df4 = pd.DataFrame(dict1)
df4

运行结果:
在这里插入图片描述

1.2 DataFrame对象常用属性和方法

DataFrame对象常用属性和方法与Series对象的几乎相同。


print('=============== 常用属性 ===============')
# 查看维度, 返回元组类型 -> (行数, 列数), 元素个数代表维度数
print(df.shape)

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

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

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

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

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

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

运行结果:
在这里插入图片描述

print('=============== 常用方法 ===============')
# 查看前5行数据
df.head()

# 查看后5行数据
df.tail()

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

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

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

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

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

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

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

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

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

  • 求 平均年龄
df['Age'].mean()
  • 求 是否高于平均年龄
df['Age'] > df['Age'].mean()
  • 求高于平均年龄的数据
df[df['Age'] > df['Age'].mean()]
  • 求高于平均年龄的数据(列表)
list1 = list(df['Age'] > df['Age'].mean())
df[list1]

总结
本质就是传入布尔值构成的列表,来获取部分数据,True所对应的数据会被保留。

1.4 DataFrame对象的运算

DataFrame和数值型变量计算时,变量会与DataFrame中的每个元素逐一进行计算,但df中存在非数值类型列时不能进行加减除运算。
两个DataFrame之间、以及df和s对象进行计算时,索引值相同的行之间会进行计算;索引值不同的行的计算结果会用NaN值(缺失值)填充。

  • 观察df+2
df + 2

运行结果:
在这里插入图片描述

  • 观察 df+df
df + df

运行结果:
在这里插入图片描述

  • 观察 df * 2
df * 2

运行结果:
在这里插入图片描述 同上 df + df

  • 获取 是否是 [0, 2, 4] 的下标列表( isin )
df.index
df.index.isin([0, 2, 4])
df[df.index.isin([0, 2, 4])]

运行结果:
在这里插入图片描述

  • 获取下标为0 2 4 的数据
df[df.index.isin([0, 2, 4])]

运行结果:
在这里插入图片描述


http://www.kler.cn/a/370422.html

相关文章:

  • 云上贵州多彩宝荣获仓颉社区先锋应用奖 | 助力数字政务新突破
  • windows蓝牙驱动开发-蓝牙设备栈
  • HighCharts 交互式图表-01-入门介绍
  • 锐捷路由器网关RG-NBR6135-E和锐捷交换机 Ruijie Reyee RG-ES224GC 电脑登录web方法
  • 认识 MySQL 和 Redis 的数据一致性问题
  • 简历_使用 Redis 解决集群模式下的 Session 共享问题,使用拦截器实现用户的登录,校验和权限刷新以及对单位时间内请求频繁的用户IP地址进行限流。
  • 【Unity踩坑】UWP应用未通过Windows应用认证:API不支持
  • AMQP + mysql + REST API 分布式系统和微服务架构
  • SSL/TLS 密码套件漏洞分析以及修复方法
  • 三防加固工业平板国产化的现状与展望
  • docker 安装postgres,nodejs连接pg
  • 在aws loadbalancer中配置http协议版本
  • BOOT_KEY按键(学习笔记)
  • 玩一玩MySQL服务器配置与管理的游戏(日志快乐版
  • LeetCode6题:Z字形变换(原创)
  • 传统数据仓库升级版:云数据仓库!
  • 传输线临界长度
  • 独立使用 APO 日志模块替代ELK实现日志监控功能
  • Vue学习笔记(八)
  • Matlab 用于处理光谱数据
  • 域权限维持及后渗透密码收集
  • [笔记] ffmpeg docker编译环境搭建
  • uniapp通过id获取div的宽度,高度,位置等(应该是 任意平台都通用 )
  • redis的string是怎么实现的
  • vue3取消跟踪auto-imports.d.ts,components.d.ts这两个文件的变化
  • 新魔百和HG680LC-LY,CM311-1,860av32等热门固件汇总