python 数据分析模块_Python数据分析pandas模块用法实例详解
本文实例讲述了Python数据分析pandas模块用法。分享给大家供大家参考,具体如下:
pandas
pandas10分钟入门,可以查看官网:10 minutes to pandas
也可以查看更复杂的cookbook pandas是非常强大的数据分析包,pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包。就好比 Numpy的核心是 ndarray,pandas 围绕着 Series 和 DataFrame 两个核心数据结构展开 。Series和DataFrame 分别对应于一维的序列和二维表结构。
创建对象
常规导入方式: import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
Series Series 可以看做一个定长的有序字典,它是能够保存任何数据类型(整数,字符串,浮点数,Python对象等)的一维标记数组。 Series对象包含两个主要的属性:index 和 values。 数据可以是Python字典、 ndarray、scalar value标量值(如5)等 创建时有没有index都会设置默认下标,但是索引用的是数组时会默认使用创建时的索引 创建时还可以指定name名字属性,之后可以修改 rename ser1 = pd.Series(range(10,15),index=list('ABCDE'))
print(ser1)
# 下标和索引等同
print(ser1['A'])
print(ser1[0])
输出:
A 10
B 11
C 12
D 13
E 14
dtype: int64
10
10
取连续多个数据时,下标取值不包含结束位置,索引切片包括结束位置 print(ser1['A':'D'])
print(ser1[0:3])
输出:
A 10
B 11
C 12
D 13
dtype: int64
A 10
B 11
C 12
dtype: int64
取多个数据、条件筛选(布尔索引) # 注意里面是一个列表
print(ser1[[0,1,3]])
# 布尔索引
print(ser1[(ser1>12)&(ser1<15)])
DataFrame
DataFrame是二维标记数据结构。 您可以将其视为电子表格或SQL表,或Series对象。 它通常是最常用的pandans对象。 像Series一样,DataFrame接受许多不同种类的输入: Dict of 1D ndarrays, lists, dicts, or Series 2-D numpy.ndarray Structured or record ndarray A Series Another DataFrame df1 = pd.DataFrame(np.random.randint(10,50,(3,4)), - index=list('ABC'),columns=list('abcd')) index是行索引,colums是列索引 用字典创建时,键名就是列索引,而且键值可以为列表,会自动补齐
取单行或单列数据,取单个数据 # 列取值,取出的是一个series对象
print(df1['a'])
print(df1['a'].values)
# 取出一行数据的某一行数据,也就是单个数据
print(df1['a']['B']) # 这两个一样
print(df1['a'][1])
取不连续多列,取连续多列(默认不支持连续,需要高级索引) # 取不连续多列
print(df1[['a','c']])
行索引,可以直接切片,但是默认不能不连续多行取值,下标同理 print('行索引取值##############')
print(df1['A':'A'])
# 取连续多行就是df1['A':'C']
高级索引(花式索引)
一般情况用于DataFrame,这里直接略过Series
loc标签索引 df1 = pd.DataFrame(np.random.randint(10,50,(5,4)), index=list('ABCDE'),columns=list('abcd'))
# 取单行,类型是series
print(df1.loc['A'])
print(type(df1.loc['A']))
# 取连续多行,类型是DataFrame
print(df1.loc['A':'C'])
# 如果没有index索引就用下标,可以取连续多行连续多列
print(df1.loc['A':'D','a':'c'])
# 取不连续多行不连续多列
print(df1.loc[['A','C'],['a','c']])
iloc 位置索引
iloc是下标和lo用法一样,但是下标索引左闭右开,loc是包括最后一位 # DataFrame
print(df1.iloc[0:2, 0]) # 注意和df1.loc['A':'C', 'a']的区别
print(df1.loc['A':'C', 'a'])
ix 标签与位置混合索引
博主使用的pandas 0.24.2版本已经弃用.ix了(warning但还能使用),所以也就不写了 ix是以上二者的综合,既可以使用索引编号,又可以使用自定义索引,要视情况不同来使用, 如果索引既有数字又有英文,那么这种方式是不建议使用的,容易导致定位的混乱。
增加数据
1 2 增加一行数据 1.df1.loc[‘D'] = [1,2,3,4,5] 2.df1.loc[‘D'] = [np.random.randint(10,20)] 增加一列数据 df1.
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
python 数据分析模块_Python数据分析pandas模块用法实例详解相关推荐
- python编程字典100例_python中字典(Dictionary)用法实例详解
本文实例讲述了python中字典(Dictionary)用法.分享给大家供大家参考.具体分析如下: 字典(Dictionary)是一种映射结构的数据类型,由无序的"键-值对"组成. ...
- python中symbols函数用法_Python基础之函数用法实例详解
本文以实例形式较为详细的讲述了Python函数的用法,对于初学Python的朋友有不错的借鉴价值.分享给大家供大家参考之用.具体分析如下: 通常来说,Python的函数是由一个新的语句编写,即def, ...
- python类初始化导入库_Python中optparser库用法实例详解
本文研究的主要是Python中optparser库的相关内容,具体如下. 一直以来对optparser不是特别的理解,今天就狠下心,静下心研究了一下这个库.当然了,不敢说理解的很到位,但是足以应付正常 ...
- python多态的例子_Python编程之多态用法实例详解
本文实例讲述了Python编程之多态用法.分享给大家供大家参考.具体分析如下: 什么是多态?顾名思义,多态就是多种表现形态的意思.它是一种机制.一种能力,而非某个关键字.它在类的继承中得以实现,在类的 ...
- python 字典定义日志用法_python中字典(Dictionary)用法实例详解
本文实例讲述了python中字典(Dictionary)用法.分享给大家供大家参考.具体分析如下: 字典(Dictionary)是一种映射结构的数据类型,由无序的"键-值对"组成. ...
- [转载] python里字典的用法_python中字典(Dictionary)用法实例详解
参考链接: Python字典dictionary copy方法 本文实例讲述了python中字典(Dictionary)用法.分享给大家供大家参考.具体分析如下: 字典(Dictionary)是一种映 ...
- python中字典del的用法_python中字典(Dictionary)用法实例详解
本文展示了字典在python中的使用.分享给大家参考.具体分析如下: 字典是一种映射结构的数据类型,由无序的"键值对"组成.字典的关键字必须是不可改变的类型,如字符串.数字和元组: ...
- python的scatter函数_python scatter函数用法实例详解
这篇文章主要介绍了python scatter函数用法实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 函数功能:寻找变量之间的关系. 调用签 ...
- python 自动化发送邮件_Python自动化必备发送邮件报告脚本详解
#!/usr/bin/python3 # -*- coding:UTF-8 -*- import smtplib #smtplib库主要用来连接第三方smtp库,用来发邮件 from email.mi ...
- mysql数据库select语句用法_mysql学习笔记之完整的select语句用法实例详解
本文实例讲述了mysql学习笔记之完整的select语句用法.分享给大家供大家参考,具体如下: 本文内容: 完整语法 去重选项 字段别名 数据源 where group by having order ...
最新文章
- go mod导入本地包的正确引入方法:require + replace
- P4884-多少个1?【BSGS】
- 中国开发者数量全球第二,C 语言一跌再跌!GitHub 年度报告重磅发布
- 关于ssd-tensorlow如何训练自己的数据集合
- linux支持arm架构么_全球首次!中国推出一款支持X86、ARM等各种芯片架构的操作系统...
- adobe 不适应 Max to分屏软件的修改
- Linux 系统使用 git 提交代码-- git 的安装及使用(简明教学指南)
- 如何在 3dMax 中制作游戏中的战斧模型?
- php根据日期获取到时星期几
- containers详解
- Web负载均衡的几种实现方式
- android平台的一款mud工具,全平台 MUD 客户端 TinTin++ 之安卓篇
- 算法作业(4):旅行者问题
- 蚂蚁区块链平台BaaS技术解析与实践 1
- 【Hive】报错Container is running beyond physical memory limits.4.0 GB of 4 GB physical memory used
- Windows Server 2016 启用完整版任务管理器
- What is COM, COM+? (什么是COM, COM+?)
- HTML5期末大作业:蛋糕网页设计——蛋糕甜品6页(代码质量好) 学生DW网页设计作业源码 web课程设计网页规划与设计
- grafana的实时地图(学习笔记)
- 基于新闻数据的社交网络图数据分析实战
热门文章
- 亲子阅读(相似页面)
- 从EOR与TOR架构谈EOR与TOR交换机
- 逻辑异或(XOR或EOR或⊕) / 逻辑与非(谢费尔竖线,Not AND,常缩写为NAND) / 逻辑或非(NOR) (网络搜集整理)
- 位操作(异或骚操作)
- 中英文混合按首字母排序
- 通过Alexa API获取Alexa排名
- 【报告分享】电商行业本地生活2020年综述及2021下半年展望-中信建投(附下载)
- Failed to execute ‘toDataURL‘ on ‘HTMLCanvasElement‘: Tainted canvases may not be exported.
- Fabric.js Failed to execute ‘toDataURL‘ on ‘HTMLCanvasElement‘: Tainted canvases may not be exported
- EasyRecovery16MAC苹果版本Photo最新版数据恢复软件