pandas库教程(1)

来源:互联网 发布:烟台市网络党校app 编辑:程序博客网 时间:2024/06/10 22:31

pandas 主要介绍了dataframe 和 series 对象和他们的用法

# -*- coding: utf-8 -*- from pandas import Seriesprint '用数组生成Series'obj = Series([4, 7, -5, 3])print objprint obj.valuesprint obj.indexprintprint '指定Series的index'obj2 = Series([4, 7, -5, 3], index = ['d', 'b', 'a', 'c'])print obj2print obj2.indexprint obj2['a']obj2['d'] = 6print obj2[['c', 'a', 'd']]print obj2[obj2 > 0]  # 找出大于0的元素print 'b' in obj2 # 判断索引是否存在print 'e' in obj2printprint '使用字典生成Series'sdata = {'Ohio':45000, 'Texas':71000, 'Oregon':16000, 'Utah':5000}obj3 = Series(sdata)print obj3printprint '使用字典生成Series,并额外指定index,不匹配部分为NaN。'states = ['California', 'Ohio', 'Oregon', 'Texas']obj4 = Series(sdata, index = states)print obj4printprint 'Series相加,相同索引部分相加。'print obj3 + obj4printprint '指定Series及其索引的名字'obj4.name = 'population'obj4.index.name = 'state'print obj4printprint '替换index'obj.index = ['Bob', 'Steve', 'Jeff', 'Ryan']print obj
# -*- coding: utf-8 -*- import numpy as npimport pandas as pdimport sysfrom pandas import Series, DataFrame, Indexprint '获取index'obj = Series(range(3), index = ['a', 'b', 'c'])index = obj.indexprint index[1:]try:    index[1] = 'd'  # index对象read onlyexcept:    print sys.exc_info()[0]printprint '使用Index对象'index = Index(np.arange(3))obj2 = Series([1.5, -2.5, 0], index = index)print obj2print obj2.index is indexprintprint '判断列和索引是否存在'pop = {'Nevada':{20001:2.4, 2002:2.9},        'Ohio':{2000:1.5, 2001:1.7, 2002:3.6}}frame3 = DataFrame(pop)print 'Ohio' in frame3.columnsprint '2003' in frame3.index
# -*- coding: utf-8 -*- import numpy as npfrom pandas import Series, DataFrameprint '用字典生成DataFrame,key为列的名字。'data = {'state':['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada'],        'year':[2000, 2001, 2002, 2001, 2002],        'pop':[1.5, 1.7, 3.6, 2.4, 2.9]}print DataFrame(data)print DataFrame(data, columns = ['year', 'state', 'pop']) # 指定列顺序printprint '指定索引,在列中指定不存在的列,默认数据用NaN。'frame2 = DataFrame(data,                    columns = ['year', 'state', 'pop', 'debt'],                    index = ['one', 'two', 'three', 'four', 'five'])print frame2print frame2['state']print frame2.yearprint frame2.ix['three']frame2['debt'] = 16.5 # 修改一整列print frame2frame2.debt = np.arange(5)  # 用numpy数组修改元素print frame2printprint '用Series指定要修改的索引及其对应的值,没有指定的默认数据用NaN。'val = Series([-1.2, -1.5, -1.7], index = ['two', 'four', 'five'])frame2['debt'] = valprint frame2printprint '赋值给新列'frame2['eastern'] = (frame2.state == 'Ohio')  # 如果state等于Ohio为Trueprint frame2print frame2.columnsprintprint 'DataFrame转置'pop = {'Nevada':{2001:2.4, 2002:2.9},        'Ohio':{2000:1.5, 2001:1.7, 2002:3.6}}frame3 = DataFrame(pop)print frame3print frame3.Tprintprint '指定索引顺序,以及使用切片初始化数据。'print DataFrame(pop, index = [2001, 2002, 2003])pdata = {'Ohio':frame3['Ohio'][:-1], 'Nevada':frame3['Nevada'][:2]}print DataFrame(pdata)printprint '指定索引和列的名称'frame3.index.name = 'year'frame3.columns.name = 'state'print frame3print frame3.valuesprint frame2.values
0 0
原创粉丝点击