一、序列Series,很像numpy中的array数组,可以由列表、元组、字典、numpy中的array来初始化

>>> from pandas import Series
>>> s = Series([0.1, 1.2, 2.3, 3.4, 4.5])
>>> s
0.1
1.2
2.3
3.4
4.5
dtype: float64

2、序列也可以由标签组成,默认是由数字表示。

>>> s = Series([0.1, 1.2, 2.3, 3.4, 4.5], index = [’a’,’b’,’c’,’d’,’e’])
>>> s
a 0.1
b 1.2
c 2.3
d 3.4
e 4.5
dtype: float64

索引的话可以由数字、标签、真值表、切片

from pandas import Series
s = Series([0.1, 1.2, 2.3, 3.4, 4.5], index = ['a','b','c','d','e'])
s[]
Out[]:
1.2
from pandas import Series
s = Series([0.1, 1.2, 2.3, 3.4, 4.5], index = ['a','b','c','d','e'])
print s[],'\n'
print s[:],'\n'
print s[s>],'\n'
print s[[,,]]
1.2 b 1.2
c 2.3
d 3.4
dtype: float64 d 3.4
e 4.5
dtype: float64 b 1.2
c 2.3
d 3.4
dtype: float64

二、序列的常用函数

1、head and tail来显示头部5行或末尾5行数据,也可以通过传递参数来修改显示的行数

from pandas import Series
s = Series([0.1, 1.2, 2.3, 3.4, 4.5], index = ['a','b','c','d','e'])
print s.head(),'\n'
print s.head()
a 0.1
b 1.2
c 2.3
d 3.4
e 4.5
dtype: float64 a 0.1
b 1.2
dtype: float64

2、isnull and notnull返回等长的序列,

3、describe返回序列的一些统计特性

from pandas import Series
import numpy as np
s=Series(np.arange(1.0,))
s.describe()
Out[]:
count 9.000000
mean 5.000000
std 2.738613
min 1.000000
% 3.000000
% 5.000000
% 7.000000
max 9.000000
dtype: float64

4、unique and nunique,返回不重复的数据集或者重复的数据集

5、drop(labels) 删除制定标签的数据,dropna()是删除NaN数据

6、append(series) 添加数据

from pandas import Series
import numpy as np
s=Series(np.arange(1.0,))
s2=Series([,,,])
print s.append(s2)

1.0
2.0
3.0
4.0
5.0
6.0
7.0
8.0
9.0
22.0
33.0
44.0
55.0
dtype: float64

7、replace(series,values) 将series数据集中的数据替换成values数据集

注意:这个替换是将替换后的数据返回,而不是在原来的数据集上做替换

from pandas import Series
import numpy as np
s=Series(np.arange(1.0,))
s2=Series([,,,])
s3=s.append(s2)
print s3.replace([,,],[,,])
s3

1.0
22.0
3.0
4.0
55.0
6.0
7.0
99.0
9.0
22.0
33.0
44.0
55.0
dtype: float64
Out[]:
1.0
2.0
3.0
4.0
5.0
6.0
7.0
8.0
9.0
22.0
33.0
44.0
55.0
dtype: float64

8、update(series)用series来更新,只更新匹配上标签的数据

注意:是在原来数据集上做更新

>>> s1 = Series(arange(1.0,4.0),index=[’a’,’b’,’c’])
>>> s1
a
b
c
dtype: float64
>>> s2 = Series(-1.0 * arange(1.0,4.0),index=[’c’,’d’,’e’])
>>> s1.update(s2)
>>> s1
a
b
c -
dtype: float64

9、数据框架,DataFrame,相当于array上的二维数组,区别于array数组的地方时它可以是不同数据类型的数据组合在一起

 
from pandas import DataFrame
a=np.array([[,],[,]]);
df=DataFrame(a)
df
Out[]:

>>> df = DataFrame(array([[1,2],[3,4]]),columns=[’a’,’b’])
>>> df
a b
0 1 2
1 3 4

也可以指定行标签和列标签

>>> df = DataFrame(array([[,],[,]]), columns=[’dogs’,’cats’], index=[’Alice’,’Bob’])
>>> df
dogs cats
Alice
Bob

10、也可以通过字典来初始化DataFrame

11、也可以指定列标签

>>> df = DataFrame(array([[1,2],[3,4]]), columns=[’dogs’,’cats’], index=[’Alice’,’Bob’])
>>> df
dogs cats
Alice 1 2
Bob 3 4

二、操作数据框架,工作目录中有一个excel文件可以用,我的是score.xlsx

1、读取数据

2、选择列可以直接是列名或者列明组成的列表

3、选择行可以是列标签或者列标签组成的列表,也可以是数字切片、真值表

from pandas import read_excel
score = read_excel('score.xlsx','Sheet1')
score[:1]
 
 
Out[20]:
  序号 english math chinese physics chemistry biology
0 1501 56 65 89 45 87 98
from pandas import read_excel
score = read_excel('score.xlsx','Sheet1')
t=score[(score.english>60) & (score.english<70)]
t
 
 
Out[22]:
  序号 english math chinese physics chemistry biology
2 1503 65 78 68 86 78 87
5 1506 64 67 82 76 78 73

4、选择行和列,需要使用ix[rowselector,colselector]

5、添加列跟字典用法差不多

>>> state_gdp_2012 = state_gdp[[’state’,’gdp_2012’]]
>>> state_gdp_2012.head()
state gdp_2012
Alabama
Alaska
Arizona
Arkansas
California
>>> state_gdp_2012[’gdp_growth_2012’] = state_gdp[’gdp_growth_2012’]
>>> state_gdp_2012.head()
state gdp_2012 gdp_growth_2012
Alabama 1.2
Alaska 1.1
Arizona 2.6
Arkansas 1.3

或者insert(location,column_name,series)

>>> state_gdp_2012 = state_gdp[[’state’,’gdp_2012’]]
>>> state_gdp_2012.insert(1,’gdp_growth_2012’,state_gdp[’gdp_growth_2012’])
>>> state_gdp_2012.head()
state gdp_growth_2012 gdp_2012
0 Alabama 1.2 157272
1 Alaska 1.1 44732
2 Arizona 2.6 230641
3 Arkansas 1.3 93892
4 California 3.5 1751002

6、修改数据

from pandas import read_excel
score = read_excel('score.xlsx','Sheet1')
print score[:]
score.ix[,'english']=
print score[:]
序号 english math chinese physics chemistry biology 序号 english math chinese physics chemistry biology

7、删除列,可以使用del关键字、pop(column) 方法、drop(list of columns,axis=1)

from pandas import Series
from pandas import read_excel
score = read_excel('score.xlsx','Sheet1')
scorecopy = score.copy()
print score[:]
score.pop('biology')
print score[:]

序号 english math chinese physics chemistry biology 序号 english math chinese physics chemistry

8、 dropna 删除含有Nan的行或者列,and drop_duplicates

9、fillna(value=value )将所有的Nan数据替换成所附的值

>>> df = DataFrame(array([[1, nan],[nan, 2]]))
>>> df.columns = [’one’,’two’]
>>> replacements = {’one’:-1, ’two’:-2}
>>> df.fillna(value=replacements)
one two
0 1 -2
1 -1 2

10、sort

>>> df = DataFrame(array([[1, 3],[1, 2],[3, 2],[2,1]]), columns=[’one’,’two’])
>>> df.sort(columns=’one’)
one two
0 1 3
1 1 2
3 2 1
2 3 2

>>> df.sort(columns=[’one’,’two’], ascending=[0,1])
one two
2 3 2
3 2 1
1 1 2
0 1 3

读书笔记6pandas简单使用的更多相关文章

  1. 『TensorFlow』读书笔记_简单卷积神经网络

    如果你可视化CNN的各层级结构,你会发现里面的每一层神经元的激活态都对应了一种特定的信息,越是底层的,就越接近画面的纹理信息,如同物品的材质. 越是上层的,就越接近实际内容(能说出来是个什么东西的那些 ...

  2. Web开发基础(读书笔记)

    读书笔记:简单+基础 HTML(hyper Text Markup Language,超文本标记语言) URL(Uniform Resource Locator,统一资源定位器)构成3部分:协议/主机 ...

  3. how tomcat works 读书笔记(二)----------一个简单的servlet容器

    app1 (建议读者在看本章之前,先看how tomcat works 读书笔记(一)----------一个简单的web服务器 http://blog.csdn.net/dlf123321/arti ...

  4. Redis设计与实现读书笔记——简单动态字符串

    前言 项目里用到了redis数据结构,不想只是简单的调用api,这里对我的读书笔记做一下记录.原文地址: http://www.redisbook.com/en/latest/internal-dat ...

  5. [redis读书笔记] 第一部分 数据结构与对象 简单动态字符串

    本读书笔记主要来自于<<redis设计与实现>> -- 黄键宏(huangz) redis主要设计了字符串,链表,字典,跳跃表,整数集合,压缩列表来做为基本的数据结构,实现键值 ...

  6. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

  7. C#温故知新:《C#图解教程》读书笔记系列

    一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...

  8. C#刨根究底:《你必须知道的.NET》读书笔记系列

    一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...

  9. 《C#高级编程》读书笔记

    <C#高级编程>读书笔记 C#类型的取值范围 名称 CTS类型 说明 范围 sbyte System.SByte 8位有符号的整数 -128~127(−27−27~27−127−1) sh ...

随机推荐

  1. 2017.8.30 elasticsearch-sql的安装与使用

    参考来自: http://blog.csdn.net/u012307002/article/details/52837756 https://github.com/NLPchina/elasticse ...

  2. 如何利用Framework模型生成IQD文件

    很多Cognos的新手在接触Transform建模的时候对于iqd文件都有一种朦胧的感觉,当然也不必去死记硬别它的格式,下面我们就来说一下如何用Framework工具来生成iqd文件. 1:打开fra ...

  3. Unity3D中的欧拉角的理解

    先贴一个图: 游戏物体的属性视图中调整的角度就是欧拉角啦.. 如果细心,就会发现,单独去调整xyz的时候它并不是按照世界坐标系中的xyz轴来实施旋转的,它表示的是旋转的欧拉角. 什么是欧拉角呢?请看这 ...

  4. Python访问MongoDB数据库

    #encoding: utf-8 __author__ = 'Administrator' #import pymongo from pymongo import MongoClient,GEO2D ...

  5. U盘去保护方法

    一.基本信息 U盘大小是16G的,估计用了2G的空间存储,没有任何开关设置,格式化或写入时提示被写保护: U盘放到任何一台电脑上都是只能读不能写,说明与电脑无关,用了各种U盘修复程序都无效: 二.一般 ...

  6. STL - 容器 - Set

    Set根据特定排序准则,自动将元素排序. Set不允许元素重复. 一些常规操作: SetTest.cpp #include <iostream> #include <set> ...

  7. sql数据库表复制、查看是否锁表

    1.不同数据库之间复制表的数据的方法: 当表目标表存在时: insert into 目的数据库..表 select * from 源数据库..表 当目标表不存在时: select * into 目的数 ...

  8. Fiddler Session标志

    Each Session object in Fiddler contains a collection of string flags, in the Session.oFlags[] collec ...

  9. Hibernate学习笔记(十) — HQL查询

    一.HQL的一对多查询 班级(1)->(多)学生 /** * 实现Classes与Student的内连接 * * SELECT c.*,s.* * from classes c INNER JO ...

  10. HTTP Header具体解释

    HTTP(HyperTextTransferProtocol) 即超文本传输协议,眼下网页传输的的通用协议.HTTP协议採用了请求/响应模型,浏览器或其它client发出请求.server给与响应.就 ...