python库pandas简介
pandas是基于numpy的数据分析模块,提供了大量标准模型和高效操作大型数据集所需要的工具。
pandas主要提供了3种数据结构:1、Series,带标签的一维数组;2、DataFrame,带标签且大小可变的二维表格结构;3、Panel,带标签且大小可变的三维数组。
使用:用pig工具下载和安装pandas
导入:import pandas as pd
1.生成一维数组
import numpy as np
x = pd.Series([1, 3, 5, np.nan])
2.生成二维数组
dates = pd.data_range(start = '20130101', end = '20131231', freq = 'D') #间隔为天
dates = pd.data_range(start = '20130101', end = '20131231', freq = 'M') #间隔为月
df = pd.DataFrame(np.random.randn(12, 4), index = dates, columns = list('ABCD'))
df = pd.DataFrame([[np.random.randint(1, 100) for j in range(4)] for i in range(12)], index = dates, columns = list('ABCD')) #构造4列随机数
df = pd.DataFrame({'A':[np.random.randint(1, 100) for i in range(4)], 'B':pd.date_range(start = '20130101', periods = 4, freq = 'D'), 'C':pd.Series([1, 2, 3, 4], index = list(range(4)), dtype = 'float32'), 'D':np.array([3] * 4, dtype = 'int32'), 'E':pd.Categorical(["test", "train", "test", "train"]), 'F':'foo'})
df = pd.DataFrame({'A':[np.random.randint(1, 100) for i in range(4)], 'B':pd.date_range(start = '20130101', periods = 4, freq = 'D'), 'C':pd.Series([1, 2, 3, 4], index = list(range(4)), dtype = 'float32'), 'D':np.array([3] * 4, dtype = 'int32'), 'E':pd.Categorical(["test", "train", "test", "train"]), 'F':'foo'})
3.二维数据查看
df.head() #默认显示前5行
df.head(3) #查看前3行
df.tail(2) #查看最后2行
4.查看二维数据的索引、列名和数据
df.index #查看索引
df.columns #查看列名
df.values #查看数据
5.查看数据的统计信息
df.describe() #返回平均值、标准差、最小值、最大值等信息
6.二维数据转置
df.T
7.排序
df.sort_index(axis = 0, ascending = False) #对轴进行排序
df.sort_index(axis = 1, ascending = False)
df.sort_values(by = 'A') #对数据进行排序
df.sort_vlaues(by = 'A', ascending = False) #对数据进行降序排列
8.数据选择
df['A'] #选择列
df[0 : 2] #使用切片选择多行
df.loc[:, ['A', 'C']] #选择多列
df.loc[['zhang', 'zhou'], ['A', 'B', 'C', 'D']] #同时指定多行与多列进行选择
df.loc['zhang', ['A', 'B', 'C', 'D']]
df.at['zhang', 'A'] #查询指定行、列位置的数据值
df.iloc[3] #查询第3行数据
df.iloc[0:3, 0:4] #查询前3行、前4列数据
df.iloc[[0, 2, 3], [0, 4]] #查询指定的多行、多列数据
df[df.A > 50] #按给定条件进行查询
python库pandas简介的更多相关文章
- python之pandas简介
一. Pandas简介 1.Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和 ...
- python库pandas
由于在机器学习中经常以矩阵的方式来表现数据,那么我们就需要一种数据结构来存储和处理矩阵.pandas库就是这样一个工具. 本文档是一个学习笔记,记录一些常用的命令,原文:http://www.cnbl ...
- Python库-Pandas
Pandas是基于NumPy的一种数据分析工具,提供了大量使我们快速便捷处理数据的函数和方法. 中文官网地址:https://www.pypandas.cn Pandas基于两种数据类型:Series ...
- 顶级Python库
绝不能错过的24个顶级Python库 Python有以下三个特点: · 易用性和灵活性 · 全行业高接受度:Python无疑是业界最流行的数据科学语言 · 用于数据科学的Python库的数量优势 事实 ...
- Python数据分析Pandas库方法简介
Pandas 入门 Pandas简介 背景:pandas是一个Python包,提供快速,灵活和富有表现力的数据结构,旨在使“关系”或“标记”数据的使用既简单又直观.它旨在成为在Python中进行实际, ...
- python库之-------Pandas
包括两个数据结构:DataFrame和Series 官方文档地址: pandas https://pandas.pydata.org/pandas-docs/stable/index.html ser ...
- Python数据分析库pandas基本操作
Python数据分析库pandas基本操作2017年02月20日 17:09:06 birdlove1987 阅读数:22631 标签: python 数据分析 pandas 更多 个人分类: Pyt ...
- Python 数据处理库 pandas 入门教程
Python 数据处理库 pandas 入门教程2018/04/17 · 工具与框架 · Pandas, Python 原文出处: 强波的技术博客 pandas是一个Python语言的软件包,在我们使 ...
- 教程 | 一文入门Python数据分析库Pandas
首先要给那些不熟悉 Pandas 的人简单介绍一下,Pandas 是 Python 生态系统中最流行的数据分析库.它能够完成许多任务,包括: 读/写不同格式的数据 选择数据的子集 跨行/列计算 寻找并 ...
随机推荐
- Java 对象在堆中的内存结构
翻译人员: 铁锚 翻译日期: 2013年11月8日 原文链接: What do Java objects look like in memory during run-time? 我们知道,函数每次 ...
- 详解EBS接口开发之物料导入API
create_item inv_item_grp.create_item(p_commit => fnd_api.g_true, -- p_item_rec => l_item_rec, ...
- NIO模式例子
NIO模式主要优势是体现在对多连接的管理,对众多连接各种事件的转发让处理变得更加高效,所以一般是服务器端才会使用NIO模式,而对于客户端为了方便及习惯使用阻塞模式的Socket进行通信.所以NIO模式 ...
- GCC/gcc/g++/CC/cc区别
平常在Linux上经常会用到gcc或者g++来编译程序,但对这两者的理解也就停留在一个是用来编译C程序,另一个是用来编译C++程序的(请注意:这种说法是有问题的,待会改进). 1. GCC GCC,是 ...
- Linux IPC - Shared memory
http://blog.163.com/muren20062094@yeah/blog/static/161844416201161974646434/ 1. Create shared memory ...
- 解决os x下gdb不能调试的问题
在较新的os x中使用gdb调试程序会发生 Unable to find Mach task port 之类的错误,这是由于新的os x内核禁止未授权的程序随意控制其他进程,如果不用root权限的话, ...
- error C3872: '0x3000': this character is not allowed in an identifier
问题描述:这个字符不允许在标示符中使用 一般出这种错是因为你复制代码的时候,把不支持的字符复制进来了,这个字符就是中文空格,坑啊 解决: 把空格都删了,替换成英文的空格,就好了.
- machine learning 之 Neural Network 3
整理自Andrew Ng的machine learning课程week6. 目录: Advice for applying machine learning (Decide what to do ne ...
- java程序的内存分配(二)
前言 您是否是动态分配的 C/C++ 对象忠实且幸运的用户?您是否在模块间的往返通信中频繁地使用了"自动化"?您的程序是否因堆分配而运行起来很慢?不仅仅您遇到这样的问题.几乎所有项 ...
- 转载 jQueryEasyUI Messager基本使用
http://www.cnblogs.com/libingql/archive/2011/07/17/2109020.html 一.jQueryEasyUI下载地址 http://www.jeasyu ...