pandas入门

《Python for Data Analysis》

from pandas import Series, DataFrame

import pandas as pd

Series

由一组数据以及与之相关的数据标签,Series的字符串表现形式为:索引在左边,值在右边。如果没有指定索引,会自动创建一个0到N-1的整数型索引。

属性: .values.index

In [1]: from pandas import Series, DataFrame

In [2]: import pandas as pd

In [3]: obj = Series([4,6,-3,8])

In [4]: obj
Out[4]:
0    4
1    6
2   -3
3    8
dtype: int64

In [5]: obj.index
Out[5]: RangeIndex(start=0, stop=4, step=1)

In [6]: obj.values
Out[6]: array([ 4,  6, -3,  8], dtype=int64)

Numpy数组运算会保留索引与值之间的链接,可以将Series看成是一个定长的有序字典,因为它是索引值到数据值的一个映射。

可以直接通过字典创建Series:
obj = Series(dict)

Series在算术运算中会自动对齐不同索引的数据。

Series对象本身及其索引都有一个name属性。

Series的索引可以通过赋值的方式就地修改。

DataFrame

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

构建DataFrame的方法有很多,最常用的一种是直接传入一个由等长列表或者Numpy数组组成的字典。DataFrame会自动加上索引,且全部会有序排列。
frame = DataFrame(dict)

可以指定列序列
DataFrame(dict, columns=['year', 'state']

DataFrame的列可以获取为一个Series:——frame['year']等效于frame.year

可以通过位置或名称获取行,比如用索引字段ix——frame.ix['three']

为不存在的列赋值会创建出新列。关键字del用于删除列

注意:通过索引方式返回的列只是相应数据的++视图++,并不是副本!!

In [1]: from pandas import Series, DataFrame

In [2]: import numpy as np

In [3]: data = DataFrame(np.arange(16).reshape((4,4)),
   ...:                  index=['a','b','c','d'],
   ...:                  columns=['one','two','three','four'])

In [4]: data
Out[4]:
   one  two  three  four
a    0    1      2     3
b    4    5      6     7
c    8    9     10    11
d   12   13     14    15

In [5]: data['two']
Out[5]:
a     1
b     5
c     9
d    13
Name: two, dtype: int32

In [6]: data[['three','one']]
Out[6]:
   three  one
a      2    0
b      6    4
c     10    8
d     14   12

In [7]: data[:2]
Out[7]:
   one  two  three  four
a    0    1      2     3
b    4    5      6     7

In [8]: data[data['three'] > 5]
Out[8]:
   one  two  three  four
b    4    5      6     7
c    8    9     10    11
d   12   13     14    15

In [9]: data < 5
Out[9]:
     one    two  three   four
a   True   True   True   True
b   True  False  False  False
c  False  False  False  False
d  False  False  False  False

In [10]: data[data < 5] = 0

In [11]: data
Out[11]:
   one  two  three  four
a    0    0      0     0
b    0    5      6     7
c    8    9     10    11
d   12   13     14    15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值