pandas很强大,操作参考官网:http://pandas.pydata.org/pandas-docs/stable/

也有一份10分钟入门的材料:http://pandas.pydata.org/pandas-docs/stable/10min.html  对于行列切片,开始基本都是看这份。

总结了些最基本的操作,如下:

# -*- coding: utf-8 -*-import numpy as np
import 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.shape
del 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.shape
ds_tmp.sort_values('u_ratio')#按照列u_ratio排序数据,默认升序排列
print ds_tmp
ds_tmp.sort_values('u_ratio', ascending=False)#按照列u_ratio降序排列数据
print ds_tmp
ds.groupby('u_spu_num').agg(np.mean)#返回按列col1分组的所有列的均值
ds_tmp.apply(np.mean)#对DataFrame中的每一列应用函数np.mean
ds_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的尾部ds
ds.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

【Python学习系列二十一】pandas库基本操作相关推荐

  1. 【Python学习系列二十六】networkx库图最短路径求解

    场景:基于python库networkx来求解图最短路径,相关算法基础参考 http://blog.csdn.net/fjssharpsword/article/details/52931373 ht ...

  2. 【Python学习系列二十三】Scikit_Learn库降维方法(矩阵分解)-PCAFA

    1主成分分析PCA 1.1 精确PCA和似然估计 PCA基于最大方差的正交变量分解多维数据集.在scikit-learn库中,PCA的实现是先通过fit方法计算n维的特征值和特征向量,然后通过tran ...

  3. 【Python学习系列二十】scikit-learn库模型持久化

    场景:需要将模型保存到内存,或磁盘. 代码: # -*- coding: utf-8 -*-import pandas as pd import pickle as pkl from sklearn. ...

  4. python networkx进行最短路径分析_【Python学习系列二十六】networkx库图最短路径求解...

    场景:基于python库networkx来求解图最短路径,相关算法基础参考 http://blog.csdn.net/fjssharpsword/article/details/52931373 ht ...

  5. 【Python学习系列二十九】scikit-learn库实现天池平台智慧交通预测赛

    1.背景:https://tianchi.aliyun.com/competition/introduction.htm?spm=5176.100066.0.0.3f6e7d83RQgWEL& ...

  6. 【Python学习系列二十四】scikit-learn库逻辑回归实现唯品会用户购买行为预测

    1.背景:http://www.datafountain.cn/#/competitions/260/intro DataFountain上的唯品会用户购买行为预测比赛题目,笔者用逻辑回归实现,分数是 ...

  7. 【Python学习系列二十二】pandas数据筛选和排序

    在Pandas中通过.sort和.loc函数也可以实现这两 个功能..sort函数可以实现对数据表的排序操作,.loc函数可以实现对数据表的筛选操作. 1.排序 sort函数主要包含6个参数:colu ...

  8. 【Python学习系列二十七】pearson相关系数计算

    场景:计算训练特征和目标之间的相关系数,用于判断是否加入训练. 参考代码: # -*- coding: utf-8 -*-import pandas as pd import time from sk ...

  9. 【Python学习系列二十八】绘图库pyecharts

    网址:https://github.com/chenjiandongx/pyecharts 安装:pip install pyecharts 参考代码: # -*- coding: utf-8 -*- ...

最新文章

  1. python解压zip文件_Python中最快解压zip文件的方法
  2. 交通预测论文笔记《Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting》
  3. PAT 甲级 1027 Colors in Mars
  4. java创建线程哪种方法最好_Java创建线程的三种方法比较
  5. goodbye cnblogs
  6. 单面打印机双面打印———python pdf拆分重排
  7. 小米手机 MIUI稳定版刷成开发版怎么操作?
  8. 手Q真的输给微信了吗?
  9. 如何通过Python制作日历壁纸
  10. windows查看电池损耗
  11. 三相电检测电路c语言,三相电缺相检测电路
  12. vim:vim从入门到放弃
  13. python量化实战 顾比倒数线_顾比倒数线的画法
  14. vue16 自定义键盘属性
  15. 微信小程序 帮你算月供
  16. 金蝶 EAS WebService 启动安全性后的调用方法
  17. 英国人工智能简史:从艾伦图灵到DeepMind
  18. 写给大四即将找工作的同学
  19. PLCnext to Proficloud Technology User manual
  20. IDEA的安装、IDEA的首次配置、IDEA的联网配置

热门文章

  1. jmeter中控制器其中一个访问不到_Jmeter体系结构和运行原理
  2. 洛谷P2730 [IOI]魔板 Magic Squares
  3. sublime Text3 设置多个浏览器预览
  4. 在linux中的virtualbox无法挂载usb设备的解决方法
  5. Android studio使用心得(二)— 打包签名apk发布
  6. 自己动手:修改crx文件制作自己的Chrome Apps
  7. Thread.Join()用法的理解
  8. 用存储过程生成记录编号
  9. WINCE6.0 chain.bin和xipkernel.bin解析
  10. win10任务栏怎么还原到下面_Windows10 系统桌面底部的任务栏在侧边了怎么还原