十分钟了解pandas
十分钟掌握Pandas(上)——来自官网API
一、numpy和pandas
numpy是矩阵计算库,pandas是数据分析库,关于百度百科,有对pandas的介绍。
pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。
二、数据类型
| numpy | pandas |
|---|---|
| ndArray相当于n维矩阵 | Series(类似一维数组,或者kv值对) |
| 在numpy中只有ndArray一种,但是ndArray有很多种数据类型 | DataFrame(使用csv读入数据是dataFrame) |
二、官网API
2.1.Object craetion
因为pandas基于numpy进行开发,所以,我们要引入pandas的同时进行引入numpy
import numpy as np
import pandas as pd
我们创建一个integer索引的Series
s = pd.Series([1,3,5,np.nan,6,8])
print(s)
创建一个DataFrame类型,使用NumPy的数组,index是行,columns是列
df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('ABCD'))
print(df)
这边是另一种创建方式
df2 = pd.DataFrame({
'A':1.,
'B':pd.Timestamp('20130102'),
'C':pd.Series(1,index=list(range(4)),dtype='float32'),
'D':np.array([3]*4,dtype='int32'),
'E':pd.Categorical(["test","train","test","train"]),
'F':'foo'
})
print(df2)
我们从头查看,或者从尾查看
df.head()
df.tail(3)
Series使用to_numpy()转换为ndArray格式
df.to_numpy()
我们的DataFrame格式,也可以使用to_numpy()进行转换
df2.to_numpy()
使用df.describe进行查看DataFrame的属性
df.describe()
使用T属性,可以查看DataFrame的转置
df.T
使用sort_index可以进行按照索引行列进行排序,指定axis维度为0按照列进行排序,指定axis维度为1按照行进行排序,ascending为False为逆序排序,True为正序进行排序
df.sort_index(axis=1,ascending=False)
按照值进行排序
df.sort_values(by='B')
2.2.Selection
注意,我们标准的Python/Numpy表达选择是直接查看,如果我们数据量庞大,则会使用.at,.iat,.loc和.iloc进行间接获取数据
Getting
直接获取一个列
df['A']
切片获取
df[0:3]
Selection by label
获取标签行
df.loc[dates[0]]
2.3.Select by position
通过索引位置进行获取
df.iloc[3]
位置仍然可以通过行列或者切片方式
2.4.Boolean indexing
布尔选择器
df[df.A>0]
我们可以通过isin()方法进行过滤pandas表
df2=df.copy()//拷贝
df2['E']=['one','two','three','four','five']//插入新列
df2[df2['E'].isin('two','three')] //进行选择过滤
2.5.Setting
设置一个新列进行设置
我们的一个列相当于一个Series格式,现在我们发现Pandas的行相当于一个二维的Series进行封装
s1 = pd.Series([1,2,3,4],index=pd.date_range('20130102',periods=4))
df['F']=s1
通过标签进行设置值
df.at[dates[0],'A']=0
通过值来进行定位
df.iat[0,1]=0
2.6.Missing data
缺失数据值,pandas 最初使用np.nan进行代表缺失值,比如无法计算,会使用Nan进行代替
reindex重建方法
df1 = df.reindex(index=dates[0:4], columns=list(df.columns) + ['E'])
去掉丢失数据的行
df1.dropna(how='any')
填充缺失的数据
df1.fillna(value=5)
bool判断是否为na
df1.isna(df1)
2.7.operations
求平均,axis设置为0,1为根据行或者列进行求平均
df.mean(0)
df.mean(1)
去掉前两个值,下次依次执行了2次shift,去掉了前面四个值
s=pd.Series([1,3,5,np.nan,6,8],index=dates)
s=s.shift(2)
s=s.shift(2)
s
十分钟了解pandas的更多相关文章
- 十分钟掌握pandas(pandas官方文档翻译)
十分钟掌握pandas 文档版本:0.20.3 这是一个对pandas简短的介绍,适合新用户.你可以在Cookbook中查看更详细的内容. 通常,我们要像下面一样导入一些包. In [1]: impo ...
- 十分钟掌握Pandas(上)——来自官网API
十分钟掌握Pandas(上)——来自官网API 其实不止10分钟,这么多,至少一天 一.numpy和pandas numpy是矩阵计算库,pandas是数据分析库,关于百度百科,有对pandas的介绍 ...
- (转)十分钟入门pandas
本文是对pandas官方网站上<10 Minutes to pandas>的一个简单的翻译,原文在这里.这篇文章是对pandas的一个简单的介绍,详细的介绍请参考:Cookbook . 习 ...
- 十分钟掌握pandas中文版(pandas官方文档翻译)
转载自 https://blog.csdn.net/jiangjiang_jian/article/details/80022918
- 十分钟(小时)学习pandas
十分钟学习pandas 一.导语 这篇文章从pandas官网翻译:链接,而且也有很多网友翻译过,而我为什么没去看他们的,而是去官网自己艰难翻译呢? 毕竟这是一个学习的过程,别人写的不如自己写的记忆深刻 ...
- 【译】10分钟学会Pandas
十分钟学会Pandas 这是关于Pandas的简短介绍主要面向新用户.你可以参考Cookbook了解更复杂的使用方法 习惯上,我们这样导入: In [1]: import pandas as pd I ...
- 十分钟搞定pandas内容
目录 十分钟搞定pandas 一.创建对象 二.查看数据 三.选择器 十二.导入和保存数据 参考:http://pandas.pydata.org/pandas-docs/stable/whatsne ...
- 【NLP】十分钟快览自然语言处理学习总结
十分钟学习自然语言处理概述 作者:白宁超 2016年9月23日00:24:12 摘要:近来自然语言处理行业发展朝气蓬勃,市场应用广泛.笔者学习以来写了不少文章,文章深度层次不一,今天因为某种需要,将文 ...
- 十分钟轻松让你认识ASP.NET MVC6
这篇文章说明下如何在普通编辑器下面开发mvc6应用程序. 上篇文章: 十分钟轻松让你认识ASP.NET 5(MVC6) 首先安装mvc6的nuget包: 可以看到在project.json文件中添加了 ...
随机推荐
- 【python基础】argparse模块
参考 1. argumentparser-objects: 2. argparse.ArgumentParser()用法解析:
- [LeetCode] 557. Reverse Words in a String III 翻转字符串中的单词 III
Given a string, you need to reverse the order of characters in each word within a sentence while sti ...
- redis(1)---linux下的安装
安装redis 照着官网一波操作即可:https://redis.io/download,如果不能正常编译能是少了gcc,如果能联网直接 yum install gcc再编译. 照着官网操作走一波 1 ...
- 通过cmd命令控制台关闭已经打开的端口号
通过cmd命令控制台关闭已经打开的端口号 在出现的窗口里面输入 netstat -ano, 就会出现所有的端口号, Local Address下面的是端口号, PID就是某程序占用的进程号, 这个进程 ...
- window10 phpstudy2018 mysql服务重启之后自动停止
使用phpstudy集成环境开发php,但是可能版本太旧,导致有些语法用不了.所以决定删掉,再下一个新版的. 把phpstudy退出之后,就直接把phpstudy文件夹删除了.发现它并不能删除成功.然 ...
- QT笔记--checkbox
1 复选框 一般用来表示“是/否”.: 2 属性有哪些 如果需要默认选中,那么设置QAbstractButton->checked 3 哪些操作函数 需要判断是否选中.也就是isChecked( ...
- 「中山纪中集训省选组D2T1」书堆 欧拉常数
题目描述 蚂蚁是勤劳的动物,他们喜欢挑战极限.现在他们迎来了一个难题!蚂蚁居住在图书馆里,图书馆里有大量的书籍.书是形状大小质量都一样的矩形.蚂蚁要把这些书摆在水平桌子的边缘.蚂蚁喜欢整洁的布置,所以 ...
- 重回ubutntu12.04小记(装完ubuntu做的几件事)
原来一直是在windows下用虚拟机跑redhat 和debian 做实验和一些工程,以前也装过ubuntu和windows双系统,但是换电脑后,就一直懒得捣鼓了. 现在,由于长期需要在linux上做 ...
- LeetCode 556. 下一个更大元素 III(Next Greater Element III)
556. 下一个更大元素 III 556. Next Greater Element III 题目描述 给定一个 32 位正整数 n,你需要找到最小的 32 位整数,其与 n 中存在的位数完全相同,并 ...
- 什么是REST 、RESTful 、RESTful API?
介绍 自从Roy Fielding博士在2000年他的博士论文中提出Rest(Representational State Transfer)风格的软件架构模式后,REST就基本上迅速取代了复杂而笨重 ...