利用Python数据分析:pandas入门(二)

来源:互联网 发布:python join函数 编辑:程序博客网 时间:2024/06/05 08:57
import pandas as pdimport numpy as npfrom pandas import Series,DataFramedata = {'state':['Ohio','Ohio','Ohio','Nevada','Nevada'],        'year':[2000,2001,2002,2001,2002],        'pop':[1.5,1.7,3.6,2.4,2.9]}frame = DataFrame(data)frame #可以把字典,等长的列表转换成一个 dataframe dataframe有行索引也有列的索引DataFrame(data,columns=['year','state','pop']) #指定列的顺序,DataFrame就会按照指定的顺序进行排列frame2 = DataFrame(data,columns=['year','state','pop','debt'],                   index=['one','two','three','four','five'])frame2 # 如果列找不到就会返回一个NAN 这里同样的可以将1~N-1的索引改成指定索引frame2.columns # 返回列的信息frame2['state'] #通过字典标记方式可以将dataframe的列获取为一个Seriesframe2.year # 同上frame2['state'].name # 返回的Series的name属性也是设置好的frame2['state'].index.nameframe2.ix['three'] # 行可以通过为止或者名称的方式进行获取比如说使用索引的字段ixframe2['debt'] = 16.5 # 给列进行赋值 比如给前面为空值的列进行赋值为16.5frame2 # 对于dataframe的每一列都具有series的每一个功能frame2['debt'] = np.arange(5.)frame2val = Series([-1.2,-1.5,-1.7],index=['two','four','five'])frame2['debt'] = val #将Series赋值的时候能够精确的匹配Dataframe的索引 列表或者数组赋值则需要长度匹配frame2frame2['eastern'] = frame2.state =='Ohio' # 给不存在的列进行赋值就会出现一个新的列# 这里的 frame2.state =='Ohio' 返回的是一个布尔型的数组del frame2['eastern'] #  使用del关键字进行删除列frame2.columnspop ={'Nevada':{2001:2.4,2002:2.9},      'Ohio':{2000:1.5,2001:1.7,2002:3.6}} #这是一个嵌套字典frame3 = DataFrame(pop)# 嵌套字典转成Dataframe的时候外层的键作为列内层的键作为索引frame3frame3.T#也可以对结果进行转置DataFrame(pop,index=[2001,2002,2003])#内层字典的键会被合并排序形成最终的索引,如果显示指定则不会pdata ={'Ohio':frame3['Ohio'][:-1],        'Nevada':frame3['Nevada'][:2]        } #由Series组成的字典DataFrame(pdata)frame3.index.name = 'year' # 设置索引的名字frame3.columns.name= 'state'#设置列的名字frame3frame3.values #以二维的ndarray形式返回Dataframe中的数据frame2.values #数据类型不同就会选择兼容所有数据的类型

0 0
原创粉丝点击