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

Python之Pandas中Series、DataFrame实践

  • import numpy as np
  • import pandas as pd
  • # Series 类
  • 是一个一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成
  • # 1. 通过列表创建Series对象
  • 由索引和数据组成的, 左边是索引, 右边是数据
  • ser_obj = pd.Series(range(10, 20))
  • print(ser_obj)
  • 获取索引 Range Index是索引的类型
  • print(ser_obj.index) # RangeIndex(start=0, stop=10, step=1)
  • 获取值,
  • print(ser_obj.values)
  • head()函数 默认查看前5条数据, 可以传入指定查看数据的个数
  • print(ser_obj.head(6))
  • 根据索引取出数据
  • print(ser_obj[5])
  • # 基本运算, 作用范围只是数据
  • print(ser_obj+2)
  • # 筛选数据, 作用范围只是数据, 符合条件的为True, 不符合的为False
  • print(ser_obj > 15)
  • 取出符合条件的数据, 将True与False用数据替代
  • print(ser_obj[ser_obj > 15])
  • # 2. 通过字典构造series对象. 字典中的key作为索引, 值作为值, 索引类型: Int64Index
  • student = {
  •     2001: 15.5,
  •     2005: 20.4,
  •     2008: 26.5
  • }
  • 传入字典
  • ser_obj = pd.Series(student)
  • 指定索引名称
  • ser_obj.index.name = 'year'
  • 指定series对象名称
  • ser_obj.name = 'GDP'
  • print(ser_obj)
  • print(ser_obj.index) # Int64Index([2001, 2005, 2008], dtype='int64', name='year')
  • # 3. 手动指定索引和数据类型
  • 1. 数据   2. index=索引列表
  • ser_obj = pd.Series(['张三', '李四', '王五'], index=['a', 'b', 'c'])
  • print(ser_obj)
  • ser_obj = pd.Series(['10', '20', '30'], index=['a', 'b', 'c'], dtype='float64')
  • print(ser_obj)


  • DataFrame类
  • 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值的)
  • 类似多维数组/表格数据
  • 分为行索引和列索引
  • 创建二维数组
  • randn() 生成带有正负值的数据
  • arr = np.random.randn(3, 4)
  • print(arr)
  • print(type(arr))
  • # 1. 通过ndarrary创建dataframe对象
  • 二维数组中每一个小数组中的数据在dataframe中是一行
  • 二维数组中每一个小数组中对应索引的数据在dataframe中是一列
  • index 指定行索引   columns指定列索引
  • df_obj = pd.DataFrame(arr, index=['a', 'b', 'c'], columns=['name', 'age', 'phone', 'sex'])
  • print(df_obj)
  • # 2. 通过字典创建DataFrame对象
  • # 保证数据中至少有一个列数据是带有行索引的
  • key 作为列索引  value作为一列数据
  • dict_data = {
  •     'A': 1,
  •     'B': pd.Series(range(4), index=list(range(4)), dtype='int32'),
  •     'C': np.array(range(4, 8), dtype='int32'),
  •     'D': 4,
  •     'E': 'hello',
  •     'F': 6
  • }
  • df_obj = pd.DataFrame(dict_data)
  • print(df_obj)
  • 通过列索引(字典当中key)取出某一列的数据
  • 取出来的是带有数据和索引的series对象
  • print(df_obj['C'])
  • print(type(df_obj['C']))
  • 修改数据
  • 意思就是说先把索引为C的数据拿出来, 再用Series里面的数据替换
  • df_obj['C'] = pd.Series('world', index=list(range(4)))
  • print(df_obj)
  • 添加新列
  • 运算,只作用于数据, 不作用于索引
  • df_obj['G'] = df_obj['B']*2
  • print(df_obj)
  • df_obj['H'] = '你好'
  • print(df_obj)
  • # 删除列
  • del(df_obj['H'])
  • print(df_obj)
  • 查看索引
  • Series和DataFrame对象的索引都是Index对象
  • 索引对象不可变, 为了保证数据的安全性
  • 索引的类型
  • # Index Int64Index RangeIndex(默认) DateTimeIndex 时间戳索引
  • ser_obj = pd.Series(range(5), index=list(range(10, 15)))
  • print(ser_obj)
  • print(type(ser_obj.index))
  • print(type(df_obj.index))
http://www.lryc.cn/news/2415578.html

相关文章:

  • OpenCV学习笔记(二):读取mnist数据集
  • 个人DIY一套全智能机器人基本流程
  • kindeditor在php中的使用,PHP中使用kindeditor
  • 微信小程序实现简单的树形选择控件------treeSelect
  • 干啥啥不行,摸鱼第一名
  • Dell BIOS/CMOS设置诠释
  • 干货分享新华三、华为、思科认证,到底选择哪一个?
  • 程序员常见系统错误代码大全:1到15841
  • echarts中国旅客迁徙地图
  • 使用virtualbox虚拟安装macos
  • 飞刀篮球搜众神推球,Linux 误删文件恢复命令及方法
  • 同步推上传破解ipa方法
  • 2021兴宁高考成绩查询,兴宁2021中考录取分数线查询
  • <img src=“x“ onerror=“alert(1)“>
  • android 人脸检测_人脸识别SAFR:“AI课堂”解锁线上课堂刷脸新花样
  • owasp core rules sets规则集深度分析与测试
  • cellfun函数使用方法 matlab,matlab中cellfun函数
  • VB中dim与set的区别
  • python pdb调试工具详解
  • ZigBee介绍
  • 坚果nuts 加速 官网_坚果R2手机发布 Smartisan OS 8.0公布推送计划
  • 计算机毕业设计django+vue基于技术的招聘网站系统设计与开发【开题+论文+程序】
  • 《计算机工程》2023投稿记录
  • python爬取网站m3u8视频,将ts解密成mp4,合并成整体视频
  • 支付宝SDK出现 'openssl/rsa.h' file not found
  • WPF 基础控件之托盘
  • 合成大西瓜小程序小游戏源码,仅供学习
  • 关于cvSnakeImage函数的问题
  • EDKII vUDK 2018 在linux下安装
  • 神奇输入法Fleksy免费开放Fleksy SDK,已集成多款应用