利用Python Pandas进行数据预处理-Pandas基本的数据结构

概述
Pandas是Python的一个数据分析包,Pandas最初被作为金融数据分析工具而开发出来,因此,Pandas为时间序列提供了很好的支持。

Pandas是基于Numpy构建的含有更高级数据结构和工具的数据分析包。

Pandas的数据结构:

  • Series:一维数组,与Numpy中的一位Array类似。二者与Python基本的数据结构List也很相近,区别是List可以放不同的数据类型,而Array和Series只能放相同的数据类型。
  • Time-Series:以时间为索引的Series。
  • DataFrame:二维表格型的数据结构。可以将DataFrame理解为Series的容器。
  • Panel:三维数组,可以理解为DataFrame的容器。Panel很少使用,但确是很重要的三维数组。
  • Panel4D:Panel4D是像Panel一样的4维容器,作为N维容器的一个测试。
  • PanelND:PanelND是一个拥有factory集合,可以创建像Panel4D一样N维命名容器的模块。

Series

from pandas import Series,DataFrame

s=Series([1,2,3.0,'abc',"def"])

print(s)

这里写图片描述

Series是一个类似一维的数组对象,包含一个数组的数据(任何Numpy类型)和一个与数组关联的数据标签,被叫做索引。

Series对象主要有两个属性:index和values,如果传给构造器的是一个列表,则index的值是从0递增的整数,如果传递的是一个类字典的键值对结构,就会生成index-value对应的Series。比如:

from pandas import Series,DataFrame

s=Series(data=[1,2,3.0,'abc',"def"],index=[100,200,300,400,500])

print(s.index)

print(s.values)

这里写图片描述

from pandas import Series,DataFrame

s=Series(data=[1,2,3.0,'abc',"def"],index=[100,200,300,400,500])

print(s.index)

print(s.values)

print("....................")

s.name='a_series'
s.index.name='the_index'

print(s)

这里写图片描述


DataFrame
一个DataFrame类似一个表格,类似电子表格的数据结构,包含一个经过排序的列表集,他们每一个都可以有不同的类型值(数字、字符串、布尔),DataFrame有行和列的索引;他可以看作一个Series的字典。

from pandas import Series,DataFrame

data={'state':['a','b','c','d','e'], 'year':[2000,2001,2002,2001,2002],'pop':[1.5,1.7,3.6,2.4,2.9]}

frame=DataFrame(data)

print(frame)

这里写图片描述

和Series一样,他的索引也是自动分配,并且对列进行了排序

也可以给列一个顺序,让它按照传递的顺序排列
这里写图片描述

如果传递了一个行,但不在data中,他的结果将为NA值

from pandas import Series,DataFrame

data={'state':['a','b','c','d','e'], 'year':[2000,2001,2002,2001,2002],'pop':[1.5,1.7,3.6,2.4,2.9]}

frame=DataFrame(data,columns=['state','year','pop','newCol'],index=['one','two','three','four','five'])

print(frame)

这里写图片描述

在DataFrame中的一列可以通过字典记法或属性来检索

from pandas import Series,DataFrame

data={'state':['a','b','c','d','e'], 'year':[2000,2001,2002,2001,2002],'pop':[1.5,1.7,3.6,2.4,2.9]}

frame=DataFrame(data,columns=['state','year','pop','newCol'],index=['one','two','three','four','five'])

print(frame['state'])

这里写图片描述

行业可以通过位置或名字来索引,列入按ix索引成员

from pandas import Series,DataFrame

data={'state':['a','b','c','d','e'], 'year':[2000,2001,2002,2001,2002],'pop':[1.5,1.7,3.6,2.4,2.9]}

frame=DataFrame(data,columns=['state','year','pop','newCol'],index=['one','two','three','four','five'])

print(frame.ix['three'])

这里写图片描述

列可通过赋值来修饰

from pandas import Series,DataFrame

data={'state':['a','b','c','d','e'], 'year':[2000,2001,2002,2001,2002],'pop':[1.5,1.7,3.6,2.4,2.9]}

frame=DataFrame(data,columns=['state','year','pop','newCol'],index=['one','two','three','four','five'])

frame['newCol']=100

print(frame)

这里写图片描述

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值