【机器学习】NumPy、Panda相关数据结构学习

NumPy学习

NumPy重要的一个特点:是一个N维数组对象。提供了shape(指明行数、列数)和dtype(数据类型)

初始化

1 data1 = [3,5]
2 
3 arr1 = np.array(data1)
4 arr1
5 输出:array([3, 5])

注意,如果有切片来自于该数据,改变切片,也会改变原来的数据。

Panda

主要由Series和DataFrame组成。

Series

1,Series包括了index和values,其中values数据包括各种NumPy数据类型。与NumPy相比,可以通过索引的方式选取Series的单个或一组值。

2,Series可以看出是一个定长的有序字典,也可以直接通过map来创建Series.

data = {'o':1,'h':2} || obj = Series(data)

3,可用isnull()、notnull()来检测缺失的数据;

4,一个重要的功能:两个索引可能不同的Series相加时,可以自动对齐不同索引的数据。空的地方,会自动以Nan补齐。

1 输入
2 obj=pd.Series([4,6,7])
3 输出:
4 
5 >>> obj
6 0 4
7 1 6
8 2 7
9 dtype: int64

DataFrame

DataFrame是一个表格型的数据结构,既有行索引,也有列索引。

1, DataFrame初始化: 直接传入一个由等长列表或NumPy数组组成的字典:

 1 data = {'state':['ohio], 'year':[2000]}
 2 frame=pd.DataFrame(np.arange(12.).reshape((4,3)), columns=list('bde'), index=['Utah','Ohio','Texas','Oregon'])
 3 
 4 输出:
 5 
 6 >>> frame
 7 b d e
 8 Utah 0.0 1.0 2.0
 9 Ohio 3.0 4.0 5.0
10 Texas 6.0 7.0 8.0
11 Oregon 9.0 10.0 11.0
12 
13 data = DataFrame(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('wxyz'))

简单总结

data['w'] #选择表格中的'w'列,使用类字典属性,返回的是Series类型

data.w #选择表格中的'w'列,使用点属性,返回的是Series类型

data[['w']] #选择表格中的'w'列,返回的是DataFrame属性

data[['w','z']] #选择表格中的'w'、'z'列

data[0:2] #返回第1行到第2行的所有行,前闭后开,包括前不包括后

data[1:2] #返回第2行,从0计,返回的是单行,通过有前后值的索引形式,
#如果采用data[1]则报错

df[]只能进行行选择,或列选择,不能同时进行列选择,列选择只能是列名。

dataframe.drop([columns]) 剔除某一列

posted @ 2017-07-06 22:01  Fall12  阅读(427)  评论(0编辑  收藏  举报