《利用Python进行数据分析》学习笔记 Pandas基础

前言

pandas以NumPy为核心,使用下面这样的pandas引入约定

import pandas as pd
from pandas import Series DataFrame

Pandas的数据结构介绍

Series

obj = Series([4,-5,1,7])
obj
obj.values
obj.index

默认分配索引为从0开始的整数,当然也可以手动赋予索引值。

obj2 = Series([4,-5,1,7],index=['d','b','a','c'])
obj2
obj2['d']

与NumPy相比,Series可以通过索引访问一个元素的值。另外,NumPy中的数值运算都会保存索引和值之间对应的关系。可以将其视为一个字典,应用在各种需要字典的场合。
如果数据被存储在一个字典中,则可直接将该字典转为Series。

sdata = {'l':100,'w':300,'c':700}
obj3 = Series(sdata)
k=['l','w']
obj4 = Series(sdata,index=k)
obj4

对于很多应用而言,Series最重要的是自动对齐索引相关的数据运算。
Series本身及其index有一个name属性,该属性在与pandas其他功能相配合时非常关键。

obj4.name = 'population'
obj4.index.name = 'hh'

Series中obj4的索引可以根据需要进行就地修改。

obj.index = ['a','b','c','d']

DataFrame

DataFrame是一个表格形的数据结构,它含有一组有序的列,每一列可以是不同的值类型。DataFrame既有行索引又有列索引,可以看成由Series组成的字典(共用一个索引),面向行和面向列的操作基本上是平衡的。数据是以一个或多个二维块存放的。
构建方法:

data = {'name':['w','x','l','z'],
       'year':[24,12,50,48],
       'where':['h','l','l','l']}
frame = DataFrame(data)
frame.year
frame['name']

同样,在构建时,可以传入index值进行索引值的替换
新增和删除一列,如果需要对上,那就指定索引index吧。

frame['easten']=frame.year==24
frame
del frame['easten']
frame

在这里插入图片描述
其他属性与Series类似。

索引对象

构建Series或者DataFrame时,所用到的任何数组或其他序列的标签转换为Index。
Index对象是不可修改的,不可修改是非常重要的,它可以在多个数据间安全共享。
在这里插入图片描述
在这里插入图片描述

基本功能

重新索引

一个重要的方法是reindx,其作用是创建一个适应新索引的新对象。

obj = Series([1,2,3,4],index=['a','s','d','f'])
obj
obj2 = obj.reindex(['q','w','s','r'],fill_value=0)
obj2

在这里插入图片描述
在这里插入图片描述

丢掉指定轴上的项

new=obj2.drop('q')
new

需要注意的是,Series上切片的方法是末端包含的。

算术运算和数据对齐

默认情况下,索引数据在不重合出引入NA

obj3 = Series([1,2,3,4],index=['k','s','d','f'])
oo = obj+obj3
oo

对于DataFrame,返回的索引为相加两个DataFrame索引的并集。
在这里插入图片描述
填充数据。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章