pandas库教程(1)

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

# -*- coding: utf-8 -*- 

from pandas import Series

print '用数组生成Series'
obj = Series([4, 7, -5, 3])
print obj
print obj.values
print obj.index
print

print '指定Series的index'
obj2 = Series([4, 7, -5, 3], index = ['d', 'b', 'a', 'c'])
print obj2
print obj2.index
print obj2['a']
obj2['d'] = 6
print obj2[['c', 'a', 'd']]
print obj2[obj2 > 0]  # 找出大于0的元素
print 'b' in obj2 # 判断索引是否存在
print 'e' in obj2
print

print '使用字典生成Series'
sdata = {'Ohio':45000, 'Texas':71000, 'Oregon':16000, 'Utah':5000}
obj3 = Series(sdata)
print obj3
print

print '使用字典生成Series,并额外指定index,不匹配部分为NaN。'
states = ['California', 'Ohio', 'Oregon', 'Texas']
obj4 = Series(sdata, index = states)
print obj4
print

print 'Series相加,相同索引部分相加。'
print obj3 + obj4
print

print '指定Series及其索引的名字'
obj4.name = 'population'
obj4.index.name = 'state'
print obj4
print

print '替换index'
obj.index = ['Bob', 'Steve', 'Jeff', 'Ryan']
print obj
# -*- coding: utf-8 -*- 

import numpy as np
import pandas as pd
import sys
from pandas import Series, DataFrame, Index

print '获取index'
obj = Series(range(3), index = ['a', 'b', 'c'])
index = obj.index
print index[1:]
try:
    index[1] = 'd'  # index对象read only
except:
    print sys.exc_info()[0]
print

print '使用Index对象'
index = Index(np.arange(3))
obj2 = Series([1.5, -2.5, 0], index = index)
print obj2
print obj2.index is index
print

print '判断列和索引是否存在'
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.columns
print '2003' in frame3.index
# -*- coding: utf-8 -*- 

import numpy as np
from pandas import Series, DataFrame

print '用字典生成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']) # 指定列顺序
print

print '指定索引,在列中指定不存在的列,默认数据用NaN。'
frame2 = DataFrame(data,
                    columns = ['year', 'state', 'pop', 'debt'],
                    index = ['one', 'two', 'three', 'four', 'five'])
print frame2
print frame2['state']
print frame2.year
print frame2.ix['three']
frame2['debt'] = 16.5 # 修改一整列
print frame2
frame2.debt = np.arange(5)  # 用numpy数组修改元素
print frame2
print

print '用Series指定要修改的索引及其对应的值,没有指定的默认数据用NaN。'
val = Series([-1.2, -1.5, -1.7], index = ['two', 'four', 'five'])
frame2['debt'] = val
print frame2
print

print '赋值给新列'
frame2['eastern'] = (frame2.state == 'Ohio')  # 如果state等于Ohio为True
print frame2
print frame2.columns
print

print 'DataFrame转置'
pop = {'Nevada':{2001:2.4, 2002:2.9},
        'Ohio':{2000:1.5, 2001:1.7, 2002:3.6}}
frame3 = DataFrame(pop)
print frame3
print frame3.T
print

print '指定索引顺序,以及使用切片初始化数据。'
print DataFrame(pop, index = [2001, 2002, 2003])
pdata = {'Ohio':frame3['Ohio'][:-1], 'Nevada':frame3['Nevada'][:2]}
print DataFrame(pdata)
print

print '指定索引和列的名称'
frame3.index.name = 'year'
frame3.columns.name = 'state'
print frame3
print frame3.values
print frame2.values
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值