内容学习自:

Python for Data Analysis, 2nd Edition        

就是这本

纯英文学的很累,对不对取决于百度翻译了

前情提要:

各种方法贴:

  https://www.cnblogs.com/baili-luoyun/p/10250177.html

    内容提要:本次内容主要讲的是pands基本入门

      一:pandas 主要有两种数据结构

        Series,DataFrame

      二: Series 

        1:定义:

  Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成

        2:表现形式

  Series的字符串表现形式为:索引在左边,值在右边。

        3:创建一个一维数组

obj =pd.Series([4,5,6,7,8])        #创建一维数组
print(obj) print(obj.index)
print(obj.values)
>>>>>>>>>
0 4
1 5
2 6
3 7
4 8
dtype: int64
RangeIndex(start=0, stop=5, step=1)
[4 5 6 7 8]

        4:通过索引获得内容

          1>:单索引

obj1 = pd.Series([4,6,-7,-8],index=['d','a','b','c']) #修改索引
print(obj1)
>>>>
#通过索引获得内容
print(obj1['d'])
>>>>

d 4
a 6
b -7
c -8
dtype: int64
4

          2>:多索引

#多索引
print(obj1[['d','a','c']])
>>>>
d 4
a 6
b -7
c -8
dtype: int64
d 4
a 6
c -8
dtype: int64

          3>:布尔过滤

print(obj1[obj1<0])
>>>>

d 4
a 6
b -7
c -8
dtype: int64
b -7
c -8
dtype: int64

          4>:应用乘法

print(obj1*2)
>>>>>>>>>>
d 4
a 6
b -7
c -8
dtype: int64
d 8
a 12
b -14
c -16
dtype: int64

         5>:应用级函数

print(np.exp(obj1))
>>>>>
d 4
a 6
b -7
c -8
dtype: int64
d 54.598150
a 403.428793
b 0.000912
c 0.000335
dtype: float64

        6>:索引的映射关系

print('b'in obj1)
print('e'in obj1) >>>>>
d 4
a 6
b -7
c -8
dtype: int64
True
False

        5 :创建字典的Series:

          1:>创建字典型Series

sdata ={'Ohio':35000,'Texas':71000,'Oregon':16000,'Utah':5000 }
obj3 =pd.Series(sdata)
print(obj3) >>>> Ohio 35000
Texas 71000
Oregon 16000
Utah 5000
dtype: int64

          2:>Series 插入index 和valuse

sdata ={'Ohio':35000,'Texas':71000,'Oregon':16000,'Utah':5000 }
obj3 =pd.Series(sdata)
print(obj3)
# 插入index 和valuse
states =['California','Ohio','Oregon','Texas']
obj4 =pd.Series(sdata,index=states) print(obj4) >>>>>>>>>>>>>> Ohio 35000
Texas 71000
Oregon 16000
Utah 5000
dtype: int64
California NaN
Ohio 35000.0
Oregon 16000.0
Texas 71000.0
dtype: float64

          3>:检测数据是否缺失

l =pd.isnull(obj4)
print(l)
l2 =pd.notnull(obj4)
print(l2) >>>>>>>>>>>>
California True
Ohio False
Oregon False
Texas False
dtype: bool
California False
Ohio True
Oregon True
Texas True
dtype: bool

          4>:赋予名字

obj4.name ='population'
obj4.index.name ='state'
print(obj4)
>>>>>>>>>\
state
California NaN
Ohio 35000.0
Oregon 16000.0
Texas 71000.0
Name: population, dtype: float64

          5>:修改索引,修改索引的名字

obj =pd.Series([4,7,-6,3])
print(obj)
obj.index=['bob','Steve','jeff','Ryan']
print(obj)
>>>>>>>>>
0 4
1 7
2 -6
3 3
dtype: int64 bob 4
Steve 7
jeff -6
Ryan 3
dtype: int64

         三:DataFrame

    一:定义

  

DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引)。DataFrame中的数据是以一个或多个二维块存放的(而不是列表、字典或别的一维数据结构)
    二:创建

data ={'state':['Ohio','Ohio','Ohio','Nevada','Nevada','Nevada'],
'year':[2000,2001,2002,2001,2002,2003],
'pop':[1.5,1.7,3.6,2.4,2.8,3.2]
}
frame =pd.DataFrame(data)
print(frame)
>>>>>>>>>
state year pop
0 Ohio 2000 1.5
1 Ohio 2001 1.7
2 Ohio 2002 3.6
3 Nevada 2001 2.4
4 Nevada 2002 2.8
5 Nevada 2003 3.2
           2.1 head() #只获取前5行
print(frame.head())

>>>>>>>

    state  year  pop
0 Ohio 2000 1.5
1 Ohio 2001 1.7
2 Ohio 2002 3.6
3 Nevada 2001 2.4
4 Nevada 2002 2.8

    

     2.2# 利用抬头排序

print(pd.DataFrame(data,columns=['year','pop','state']))
>>>>>>>>
year pop state
0 2000 1.5 Ohio
1 2001 1.7 Ohio
2 2002 3.6 Ohio
3 2001 2.4 Nevada
4 2002 2.8 Nevada
5 2003 3.2 Nevada

      2.3:拆入数据如果找不到,缺失值,则返回None

# #插入数据如果找不到,缺失值,则返回NaN
#columns 列名
#index 行名
frame2 =pd.DataFrame(data,columns=['year','state','pop','debt'],
index=['one','two','three','four','five','six']
)
print(frame2)
>>>>>>>>>>>>
year state pop debt
one 2000 Ohio 1.5 NaN
two 2001 Ohio 1.7 NaN
three 2002 Ohio 3.6 NaN
four 2001 Nevada 2.4 NaN
five 2002 Nevada 2.8 NaN
six 2003 Nevada 3.2 NaN

   2.4:返回columns 的值

    

print(frame2.columns)
>>>>>>>>
Index(['year', 'state', 'pop', 'debt'], dtype='object')

    2.5:通过标记,或者属性的方式,获取某一列的值

# #单独获取某一列
print(frame2['state'])
print(frame2.year)
print('>>>>>>>>>>>>>>>>>>')
print(frame2['year']) >>>>>>>>>>>>>>
one Ohio
two Ohio
three Ohio
four Nevada
five Nevada
six Nevada
Name: state, dtype: object
one 2000
two 2001
three 2002
four 2001
five 2002
six 2003
Name: year, dtype: int64
>>>>>>>>>>>>>>>>>>
one 2000
two 2001
three 2002
four 2001
five 2002
six 2003
Name: year, dtype: int64

    2.6:loc 属性获取行的所有内容

print(frame2.loc['three'])
>>>>>>>>>>
year 2002
state Ohio
pop 3.6
debt NaN
Name: three, dtype: object

    2.7:通过赋值的方式进行修改

frame2['debt']=16.5
print(frame2)
>>>>>>>>
year state pop debt
one 2000 Ohio 1.5 16.5
two 2001 Ohio 1.7 16.5
three 2002 Ohio 3.6 16.5
four 2001 Nevada 2.4 16.5
five 2002 Nevada 2.8 16.5
six 2003 Nevada 3.2 16.5

   2.8:以 范围内容生成赋值

frame2['dabt']=np.arange(6.)
print(frame2)
>>>>>>>>>>

year state pop debt dabt
one 2000 Ohio 1.5 NaN 0.0
two 2001 Ohio 1.7 NaN 1.0
three 2002 Ohio 3.6 NaN 2.0
four 2001 Nevada 2.4 NaN 3.0
five 2002 Nevada 2.8 NaN 4.0
six 2003 Nevada 3.2 NaN 5.0

  2.9:以Series的方式进行赋值

print(frame2)
print(">>>>>>>>>>>>")
val =pd.Series([-1.2,-1.5,-1.7],index =['two','four','five'])
print(val)
print(">>>>>>>>>>>>>>")
frame2['debt'] =val
print(frame2)
>>>>>>>>>>>>>>>>>>>>>
year state pop debt
one 2000 Ohio 1.5 NaN
two 2001 Ohio 1.7 NaN
three 2002 Ohio 3.6 NaN
four 2001 Nevada 2.4 NaN
five 2002 Nevada 2.8 NaN
six 2003 Nevada 3.2 NaN
>>>>>>>>>>>>
two -1.2
four -1.5
five -1.7
dtype: float64
>>>>>>>>>>>>>>
year state pop debt
one 2000 Ohio 1.5 NaN
two 2001 Ohio 1.7 -1.2
three 2002 Ohio 3.6 NaN
four 2001 Nevada 2.4 -1.5
five 2002 Nevada 2.8 -1.7
six 2003 Nevada 3.2 NaN

  2.10:布尔型运算

frame2['eastern'] =frame2.state =='Ohio'
print(frame2)
>>>>>>>>
year state pop debt eastern
one 2000 Ohio 1.5 NaN True
two 2001 Ohio 1.7 NaN True
three 2002 Ohio 3.6 NaN True
four 2001 Nevada 2.4 NaN False
five 2002 Nevada 2.8 NaN False
six 2003 Nevada 3.2 NaN False

  

  

利用python 学习数据分析 (学习四)的更多相关文章

  1. "利用python进行数据分析"学习记录01

    "利用python进行数据分析"学习记录 --day01 08/02 与书相关的资料在 http://github.com/wesm/pydata-book pandas 的2名字 ...

  2. Python: 利用Python进行数据分析 学习记录

    -----15:18 2016/10/14----- 1. import numpy as np;import pandas as pd values = pd.Series(np.random.no ...

  3. 利用python进行数据分析——(一)库的学习

    总结一下自己对python常用包:Numpy,Pandas,Matplotlib,Scipy,Scikit-learn 一. Numpy: 标准安装的Python中用列表(list)保存一组值,可以用 ...

  4. PYTHON学习(三)之利用python进行数据分析(1)---准备工作

    学习一门语言就是不断实践,python是目前用于数据分析最流行的语言,我最近买了本书<利用python进行数据分析>(Wes McKinney著),还去图书馆借了本<Python数据 ...

  5. $《利用Python进行数据分析》学习笔记系列——IPython

    本文主要介绍IPython这样一个交互工具的基本用法. 1. 简介 IPython是<利用Python进行数据分析>一书中主要用到的Python开发环境,简单来说是对原生python交互环 ...

  6. 《利用Python进行数据分析·第2版》第四章 Numpy基础:数组和矢量计算

    <利用Python进行数据分析·第2版>第四章 Numpy基础:数组和矢量计算 numpy高效处理大数组的数据原因: numpy是在一个连续的内存块中存储数据,独立于其他python内置对 ...

  7. 利用python进行数据分析--(阅读笔记一)

    以此记录阅读和学习<利用Python进行数据分析>这本书中的觉得重要的点! 第一章:准备工作 1.一组新闻文章可以被处理为一张词频表,这张词频表可以用于情感分析. 2.大多数软件是由两部分 ...

  8. 利用Python进行数据分析_Pandas_基本功能

    申明:本系列文章是自己在学习<利用Python进行数据分析>这本书的过程中,为了方便后期自己巩固知识而整理. 第一 重新索引 Series的reindex方法 In [15]: obj = ...

  9. 利用Python进行数据分析 第4章 IPython的安装与使用简述

    本篇开始,结合前面所学的Python基础,开始进行实战学习.学习书目为<利用Python进行数据分析>韦斯-麦金尼 著. 之前跳过本书的前述基础部分(因为跟之前所学的<Python基 ...

  10. 利用Python进行数据分析(第二版)电子版书籍分享

    资料下载地址: 链接:https://pan.baidu.com/s/1y1C0bJPkSn7Sv6Eq9G5_Ug 提取码:vscu <利用Python进行数据分析(第二版)>高清中文版 ...

随机推荐

  1. 裸函数naked解析

    先分享一个案例: #include <stdio.h> __declspec(naked) void Test() { int x; x = ; __asm ret; } int main ...

  2. Python any() 函数

    Python any() 函数  Python 内置函数 描述 any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 ...

  3. ICG游戏:证明,先手不是必胜就是必败。

    简介: ICG游戏:Impartial Combinatorial Games,公平的组合游戏. 以下是定义,来自网络,可能不够严谨: 1.两名选手:2.两名选手轮流行动,每一次行动可以在有限合法操作 ...

  4. 根据车辆品牌获取品牌所属公司,车标logo,创建年份等基本信息

    接口:http://api.besttool.cn/?c=Car&a=brand 请求方式:post 参数: appid 请联系博主QQ987332767获取,注明车标接口,测试appid: ...

  5. 本周MySQL官方verified的bug列表(11月1日至11月7日)

    本周MySQL verified的bug列表(11月1日至11月7日) 1.Bug #70839JSON_VALID allows to have two elements with the same ...

  6. kaggle-泰坦尼克号Titanic-1

    大家都熟悉的『Jack and Rose』的故事,豪华游艇倒了,大家都惊恐逃生,可是救生艇的数量有限,无法人人都有,副船长发话了『lady and kid first!』,所以是否获救其实并非随机,而 ...

  7. Oracle学习笔记(十二)

    十三.存储过程和存储函数1.掌握存储过程(相当于建立一个函数或者方法体,然后通过外部对其调用) 指存储在数据库中供所有程序调用的子程序叫做存储过程或存储函数. 相同点: 完成特定功能的程序 区别: 是 ...

  8. Hbase和传统数据库的区别

    在说HBase之前,我想再唠叨几句.做互联网应用的哥们儿应该都清楚,互联网应用这东西,你没办法预测你的系统什么时候会被多少人访问,你面临的用户到底有多少,说不定今天你的用户还少,明天系统用户就变多了, ...

  9. R12 查询EBS用户相关SQL

    --R12查询EBS在线用户SQL SELECT U.USER_NAME,       APP.APPLICATION_SHORT_NAME,       FAT.APPLICATION_NAME,  ...

  10. Java Web系列:JAAS认证和授权基础

    1.认证和授权概述 (1)认证:对用户的身份进行验证. .NET基于的RBS(参考1)的认证和授权相关的核心是2个接口System.Security.Principal.IPrincipal和Syst ...