【Python学习系列二十一】pandas库基本操作
来源:互联网 发布:淘宝网商城女装裙子 编辑:程序博客网 时间:2024/06/05 07:57
pandas很强大,操作参考官网:http://pandas.pydata.org/pandas-docs/stable/
也有一份10分钟入门的材料:http://pandas.pydata.org/pandas-docs/stable/10min.html 对于行列切片,开始基本都是看这份。
总结了些最基本的操作,如下:
# -*- coding: utf-8 -*-import numpy as npimport pandas as pd#导入csv文件,空格分割ds=pd.read_csv(r"lx_test_features_all.txt",sep='\t',encoding='utf8',\ names=['u_spu_num','u_brand_num','u_cat_num','u_cat_spu','u_brand_spu',\ 'u_spu_freq','u_spu_date','u_spu_click_freq','u_spu_click_date',\ 'u_first_date','u_last_date','u_spu_ratio','u_ratio']) #查看索引、数据类型和内存信息print ds.info()#创建100行13列的随机数组成的DataFrame对象ds_test=pd.DataFrame(np.random.rand(100,13))print ds_test.shapedel ds_test #删除变量#提取某几列数据ds_col=ds[['u_spu_ratio','u_ratio']]print ds_col.shape[1]del ds_col#行列定位操作s=ds.iloc[0,:] #获取第一行print s.iloc[0] #获取第一列print ds.iloc[0,0]#获取第一行第一列ds.set_index('u_spu_num')#设置索引列print s.loc['u_spu_num']del s#数据清理print ds.isnull()#检查DataFrame对象中的空值,并返回一个Boolean数组print ds.isnull()#检查DataFrame对象中的非空值,并返回一个Boolean数组ds.dropna()#删除所有包含空值的行ds.dropna(axis=1)#删除所有包含空值的列ds.dropna(axis=1,thresh=5)#删除所有小于5个非空值的行ds.fillna('0')#用0替换DataFrame对象中所有的空值#数据处理ds_tmp=ds[ds['u_ratio'] > 0.5] #选择u_ratio列的值大于0.5的行print ds_tmp.shapeds_tmp.sort_values('u_ratio')#按照列u_ratio排序数据,默认升序排列print ds_tmpds_tmp.sort_values('u_ratio', ascending=False)#按照列u_ratio降序排列数据print ds_tmpds.groupby('u_spu_num').agg(np.mean)#返回按列col1分组的所有列的均值ds_tmp.apply(np.mean)#对DataFrame中的每一列应用函数np.meands_tmp.apply(np.max,axis=1)#对DataFrame中的每一行应用函数np.max#创建一个按列u_ratio进行分组,并计算u_spu_num和u_spu_ratio的最大值的数据透视表ds.pivot_table(index='u_ratio', values=['u_spu_num','u_spu_ratio'], aggfunc=max)#数据合并ds.append(ds_tmp)#将ds_tmp中的行添加到ds的尾部ds.concat([ds, ds_tmp],axis=1)#将ds_tmp中的列添加到ds的尾部dsds.join(ds_tmp,on='u_spu_num',how='inner')#对ds的列和ds_tmp的列执行SQL形式的join#数据统计ds.describe()#查看数据值列的汇总统计ds.mean()#返回所有列的均值ds.corr()#返回列与列之间的相关系数ds.count()#返回每一列中的非空值的个数ds.max()#返回每一列的最大值ds.min()#:返回每一列的最小值ds.median()#返回每一列的中位数ds.std()#返回每一列的标准差del ds,ds_tmp
阅读全文
0 0
- 【Python学习系列二十一】pandas库基本操作
- 【Python学习系列十五】pandas库DataFrame行列操作使用方法
- Python数据分析库pandas基本操作
- python pandas库的学习笔记二pandas的基本功能
- 【Python学习系列二十二】pandas数据筛选和排序
- Python与机器学习(二) Pandas库
- 【Python学习系列十二】Python库pandas之CSV导入
- Python中Pandas库 Dataframe的基本操作
- 用python做数据分析|pandas库:DataFrame基本操作
- python数据挖掘包Pandas基本操作
- python学习系列(二)--- 列表操作
- 学习Pandas(十一)
- Pandas学习笔记二(Pandas对象的基本方法)
- Pandas学习笔记(DataFrame基本操作)
- python pandas库的学习笔记三数据操作
- python学习(二十一)
- 单片机小白学步系列(二十一) IO口:基本的LED和按键操作
- python学习系列(二)python基本数据类型
- 如何用DOS命令查看占用某端口的程序及PID号
- 464. Can I Win
- Hbuilder入门如何创建一个新项目
- 移动端常见的一些兼容性问题
- JavaScript Array 对象
- 【Python学习系列二十一】pandas库基本操作
- Mybatis Generator最完整配置详解
- Vue2.0中使用set方法
- Vue-loader 的巧妙玩法
- java 对象序列化为json,json转Java对象
- IntelliJ IDEA创建Web SpringMVC项目(一):创建Maven Web项目
- Android studio的使用
- 使用Navicat for MySQL访问数据库老是提示ip不能连接mysql问题
- 单身狗和共享单车的约会