最近接触到了Pandas和Numpy这两个在数据分析处理方面十分强大的包,这篇文章用来记录自己用到的一些指令。
本学习笔记基于 《利用Python进行数据分析·第2版》
链接:https://www.jianshu.com/p/04d180d90a3f
pandas
1. pandas基础操作
获取指定的行/列
house_info = pd.read_csv('house_info.csv')
取第i行第j列的值:
house_info.loc[2][4]
1:取行的操作:
house_info.loc[3:6]类似于python的切片操作
2:取列操作:
house_info['price'] 这是读取csv文件时默认的第一行索引
3:取两列
house_info[['price',tradetypename']] 取多个列也是同理的,注意里面是一个list的列表,不然会报错误;
对行/列 的增删改操作
1:增加列:
house_Info['adress_new']=list([.....]) 跟字典的操作有点类似;
2:对某一列除以他的最大值,这样可以得到一个0,1的数值范围,也就是一个简易的归一化操作:
house_info['price']/house_info['price'].max()
3:对列进行排序操作:
house_info.sorted_values('price',inplace=True,ascending=True)
这里的inplace表示再排序的时候是否生成一个新的dataframe 结构,ascending=true表示升序,默认也是升序;还有一点应该注意的是:对于缺省值,(Nan)排序的时候会把他排在末尾;
对文件的基本操作
获取其 行数和列数:
- 返回列数:
名.shape[1]
- 返回行数:
名.shape[0]
- 或者:
len(名)
2. Numpy基本操作
定义列表的三种方法
- zero()函数:创建 元素全为 0 的列表
- ones()函数:创建 元素全为 1 的列表
- empty()函数:创建 元素全为 空 的列表,没有实际意义,所以它也是创建数组最快的方法。
zeros、ones、empty的使用方法差不多:
- 创建一个一维数组时,只需要一个参数就可以了,代表数组长度。
- 在默认的情况下,zeros创建的数组元素类型是浮点型的,如果要使用其他类型,可以设置dtype参数进行声明
- 创建多维数组的格式:两个包含3个元素的列表:
a = zeros([2,3])