栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pandas入门(2)——DataFrame数据结构

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pandas入门(2)——DataFrame数据结构

pandas入门(2)——DataFrame数据结构

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

备注:虽然DataFrame是以二维结构保存数据的,但仍然可以轻松地将其表示为更高维度的数据(层次化索引的表格型结构。

创建1:直接传入一个由等长列表或NumPy数组组成的字典
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.9, 3.2]}
frame=pd.DataFrame(data)
#只显示前5行
frame.head()
#指定序列顺序
pd.DataFrame(data,columns=['year','state','pop'])

在指定序列顺序时,如果传入的列在数据中找不到,就会在结果中产生缺失值,如

frame2 = pd.DataFrame(data, columns=['year', 'state', 'pop', 'debt'],
                      index=['one', 'two', 'three', 'four',
                             'five', 'six'])
frame2
获取列的方式

通过类似字典标记的方式或属性的方式,可以将DataFrame的列获取为一个Series,如

#两种方式均可
frame2['state']
frame2.year
获取行的方式

通过位置或名称的方式进行获取,比如用loc属性,如

frame2.loc['three']
修改列的方式

列可以通过赋值的方式进行修改,如

frame2['debt'] = 16.5
frame2
#或者
import numpy as np
frame2['debt'] = np.arange(6.)
frame2

备注:将列表或数组赋值给某个列时,其长度必须跟DataFrame的长度相匹配。如果赋值的是一个Series,就会精确匹配DataFrame的索引,所有的空位都将被填上缺失值,如

val = pd.Series([-1.2, -1.5, -1.7], index=['two', 'four', 'five'])
frame2['debt']=val
frame2
添加删除列

添加列

#判断state是否在东部
frame2['eastern'] = frame2.state == 'Ohio'
frame2

删除列

del frame2['eastern']
创建2:嵌套字典
pop = {'Nevada': {2001: 2.4, 2002: 2.9},
       'Ohio': {2000: 1.5, 2001: 1.7, 2002: 3.6}}
frame3=pd.DataFrame(pop)
frame3
#转置表现
frame3.T
#指定索引顺序
pd.DataFrame(pop, index=[2001, 2002, 2003])
#由Series组成的字典
pdata = {'Ohio': frame3['Ohio'][:-1],
         'Nevada': frame3['Nevada'][:2]}
pd.DataFrame(pdata)
#指定索引和序列的属性,命名
frame3.index.name = 'year'
frame3.columns.name = 'state'
frame3
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1019094.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号