利用python数据分析panda学习笔记之基本功能

1 重新生成索引 如果某个索引值不存在就引入缺失值

1 from pandas import Series,DataFrame
2 import pandas as pd
3 import numpy as np
4 obj=Series([4.5,7.2,-5.3,3.6],index=[‘d‘,‘b‘,‘a‘,‘c‘])
5 obj
6
7 #重新生成索引
8 obj2=obj.reindex([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘])
9 obj2

  a使用method的ffill可以实现前向值填充,效果如下

1 #前向填充
2 obj3=Series([‘blue‘,‘purple‘,‘yellow‘],index=[0,2,4])
3 obj3.reindex(range(6),method=‘ffill‘)

  b:对于dataframe使用reindex可以同时修改行列索引,如果仅传入一个序列那么如下

1 frame=DataFrame(np.arange(9).reshape((3,3)),index=[‘a‘,‘c‘,‘d‘],
2                 columns=[‘ohio‘,‘Texas‘,‘california‘])
3 frame

1 frame2=frame.reindex([‘a‘,‘b‘,‘c‘,‘d‘])
2 frame2

  c:使用colunms重新索引列

1 states=[‘Texax‘,‘Utah‘,‘california‘]
2 frame.reindex(columns=states)

  d:同时插入行列,但是插值只能按行应用

1 #同时对行 列进行重新索引 而插值只能引用到行
2 frame.reindex(index=[‘a‘,‘b‘,‘c‘,‘d‘],method=‘ffill‘,
3               columns=states)

reindex的参数说明如下:

2 丢弃制定轴上的项

  a:drop方法返回一个指定轴上删除了指定值的新对象,删除列c

1 #丢弃指定轴的项
2 obj=Series(np.arange(5.),index=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘])
3 new_obj=obj.drop(‘c‘)
4 new_obj

  b:删除两个 b c

obj.drop([‘d‘,‘c‘])

  c:对于dataframe可以删除任意轴上的索引

1 #对于DataFrame可以删除任意轴的索引
2 data = DataFrame(np.arange(16).reshape((4,4)),
3                  index=[‘ohio‘,‘colorado‘,‘utah‘,‘new york‘],
4                    columns=[‘one‘,‘two‘,‘three‘,‘four‘])
5 #删除两个
6 data.drop([‘colorado‘,‘ohio‘])

3 索引,选取和过滤

  a:Series中的索引类似与Numpy,但是不只是整数,索引字符

1 obj=Series(np.arange(4.),index=[‘a‘,‘b‘,‘c‘,‘d‘])
2 obj[‘b‘]#1.0

  b:按照整数,范围

1 obj[1]#1.0
2 obj[2:4]# 2 3

  c:利用标签的切片运算和普通depython切片不同,其包含末端

1 obj[‘b‘:‘c‘]#b c 1 2

  d:那么对dataframe进行索引就是获取一个或者多个列勒

1 data=DataFrame(np.arange(16).reshape(4,4),
2            index=[‘ohio‘,‘colorado‘,‘mike‘,‘jason‘],
3                  columns=[‘one‘,‘two‘,‘three‘,‘four‘])
4 data

  e:选择一列

data[‘two‘]#输出第二列+行号 也就是索引

  f:选择多列

1 data[[‘three‘,‘one‘]]

  g:选取行标签前两行

data[:2]#选取的是前面两行

  h:选取第三列大于5的值

data[data[‘three‘]>5]

  i:为了能在dataframe的行上进行标签索引引入字段ix

data.ix[‘colorado‘,[‘two‘,‘three‘]]

  j:选取第4 1 2列 而且行为colorado jason

data.ix[[‘colorado‘,‘jason‘],[3,0,1]]

  k:输出行mike

data.ix[2]

DataFrame索引总结

4 算数运算和数据对齐

  a:Series的加法

1 s1=Series([7.3,-2.5,3.4,1.5],index=[‘a‘,‘c‘,‘d‘,‘e‘])
2 s2=Series([-2.1,3.6,-1.5,4,3.1],index=[‘a‘,‘c‘,‘e‘,‘f‘,‘g‘])3 s1+s2

  b:对于dataframe,对齐会同时发生在行 列中

df1=DataFrame(np.arange(9.).reshape((3,3)),columns=list(‘bcd‘),
              index=[‘utah‘,‘ohio‘,‘colorado‘])
df2=DataFrame(np.arange(12.).reshape((4,3)),columns=list(‘bde‘),
              index=[‘utah‘,‘ohio‘,‘colorado‘,‘oragen‘])

df1+df2

------>索引和列都为其并集

  c:在算术方法中填充值。比如说两个dataframe相加,其中一个不在的时候填充为0

1 #算术中进行填充
2 df1=DataFrame(np.arange(12.).reshape((3,4)),columns=list(‘abcd‘))
3 df2=DataFrame(np.arange(20.).reshape((4,5)),columns=list(‘abcde‘))
4 df1+df2

#使用df1的add方法 传入df2以及一个fill_value参数
df1.add(df2,fill_value=0)

5 DataFrame和Series之间的运算----->广播,也就是如果第一个数值-1,那么这个列都会减1

  a:看一看一个二维数组和一行之间的差

arr=np.arange(12.).reshape((3,4))

arr[0]

arr-arr[0]

  b:frame和series的运算

frame=DataFrame(np.arange(12.).reshape((4,3)),columns=list(‘bde‘),
                index=[‘utah‘,‘ohio‘,‘texas‘,‘orogen‘])
series=frame.ix[0]

frame-series

好了,加油骚年!!!!

时间: 2024-11-09 11:30:50

利用python数据分析panda学习笔记之基本功能的相关文章

利用python数据分析panda学习笔记之Series

1 Series a:类似一维数组的对象,每一个数据与之相关的数据标签组成 b:生成的左边为索引,不指定则默认从0开始. 1 from pandas import Series,DataFrame 2 import pandas as pd 3 #series 一组数据与相关得数据标签组成 4 obj=Series([4,7,-5,3]) 5 obj#索引在左边 值在右边 c:可以通过values和index属性获取数组的表示形式和索引对象 1 obj.values#array([ 4, 7,

利用python数据分析panda学习笔记之DataFrame

2 DataFrame a:通过传入一个等长的列表构成DataFrame 自动加上索引 1 data={'state':['ohio','ohio','ohio','Nevada','Nevada'], 2 'year':[2000,2001,2002,2001,2002], 3 'pop':[1.5,1.7,3.6,2.1,2.9]} 4 frame=DataFrame(data) b:指定顺序序列(之前是按照默认排序) 1 DataFrame(data,columns=['year','st

python数据分析入门学习笔记儿

学习利用python进行数据分析的笔记儿&下星期二内部交流会要讲的内容,一并分享给大家.博主粗心大意,有什么不对的地方欢迎指正~还有许多尚待完善的地方,待我一边学习一边完善~ 前言:各种和数据分析相关python库的介绍(前言1~4摘抄自<利用python进行数据分析>) 1.Numpy: Numpy是python科学计算的基础包,它提供以下功能(不限于此): (1)快速高效的多维数组对象naarray (2)用于对数组执行元素级计算以及直接对数组执行数学运算的函数 (3)用于读写硬盘

python网络爬虫学习笔记

python网络爬虫学习笔记 By 钟桓 9月 4 2014 更新日期:9月 4 2014 文章目录 1. 介绍: 2. 从简单语句中开始: 3. 传送数据给服务器 4. HTTP头-描述数据的数据 5. 异常 5.0.1. URLError 5.0.2. HTTPError 5.0.3. 处理异常 5.0.4. info和geturl 6. Opener和Handler 7. Basic Authentication 8. 代理 9. Timeout 设置 10. Cookie 11. Deb

利用Python数据分析可以实现些什么功能呢?

随着大数据时代的来临和Python编程语言的火爆,Python数据分析早已成为现在职场人的必备核心技能.那么利用Python数据分析可以做什么呢?简单来说,可以做到的内容有很多,比如检查数据表.数据表清洗.数据预处理.数据提取和数据筛选汇总等等.下面来为大家详细讲解一下这些用处 1.检查数据表 Python中使用shape函数来查看数据表的维度,也就是行数和列数.你可以使用info函数查看数据表的整体信息,使用dtypes函数来返回数据格式.Isnull是Python中检验空值的函数,你可以对整

Python高级特性——学习笔记

Python中非常有用的高级特性,1行代码能实现的功能,决不写5行代码.请始终牢记,代码越少,开发效率越高. 1.切片slice.L = [1, 2, 3, 4, 5] L[0:3]=[1,2,3]表示,从索引0开始取,直到索引3为止,但不包括索引3.即索引0,1,2,正好是3个元素. 如果第一个索引是0,还可以省略 倒数切片L[-2:]=[4,5]从倒数第二个数 到 最后一个数 L = list(range(100))# 创建一个0-99的数列L L[:10:2]# 前10个数,每两个取一个

&lt;&lt;Python基础教程&gt;&gt;学习笔记之|第01章|基础知识

本学习笔记主要用要记录下学习<<Python基础教程>>过程中的一些Key Point,或自己没怎么搞明白的内容,可能有点杂乱,但比较实用,查找起来也方便. 第01章:基础知识 ------ Jython:      Python的Java实现,运行在JVM中,相对稳定,但落后于Python,当前版本2.5,在TA(Python+Robot)会用到 IronPython:  Python的C#实现,运行在Common Language Runtime,速度比Python要快 >

Python 2.7 学习笔记 模块和包

我们来考虑下如下几种场景: 1.编写一个python程序,如果程序比较简单,则可以把代码放到一个python文件中.但如果程序功能比较多,可能需要多个python文件来组织源代码.而这些文件之间的代码肯定有关联,比如一个文件中的python代码调用另一个python文件中定义的函数. 2.我们编写程序,肯定不会所有的东西都自己写,不会全部重造轮子,我们肯定会用到Python提供的一些标准库.那怎么使用呢?其实前面的文章中已经看到了,用import语句. 如同java中用import,c#中用us

Selenium2 Python 自动化测试实战学习笔记(六)

1.1 创建定时任务 为了让自动化测试"自动化"起来,现在我们来创建定时任务,使自动化测试脚本在指定的时间自动化运行.创建定时任务的方法有很多,比如,我们可以写一段程序让其在指定的时间运行all_test.py 文件,或者使用系统的定时任务功能在指定的时间运行all_test.py文件. 在python的os模块中提供了system()用来执行系统命令.比如要执行:UnitTest\Project\run_all.py 可以这样实现:start_run.py #coding=utf-8