一、Pandas 简述

Pandas 是 Python 语言的一个扩展程序库,用于数据分析。它并不是熊猫胖达的复数,它的名字衍生自术语 "panel data"和 "Python data analysis"。Pandas 是一个强大的分析结构化数据的工具集,基础是Numpy(提供高性能的矩阵运算)。

Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据。可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。

Pandas 里面隐藏了很多包,它是一个核心包,里面有很多其他包的功能。它相当于 Python 中 Excel,它使用表(也就是 dataframe),能在数据上做各种变换,但还有其他很多功能。

二、Pandas的基本使用

1. 导入pandas库

import pandas as pd

2. 读取数据

data = pd.read_csv( my_file.csv )
data = pd.read_csv( my_file.csv , encoding= utf-8 , nrows=1000, skiprows=[2,5])

nrows=1000 表示读取前 1000 行(row)数据。skiprows=[2,5] 表示你在读取文件的时候会移除(skip)第 2 行和第 5 行。

3. 写出数据

data.to_csv( my_new_file.csv , index=None)

index=None 表示将会以数据本来的样子写入。如果没有写 index=None,你会多出一个第一列,内容是 1,2,3,...,一直到最后一行。

4.查看数据和数据操作

给出行数和列数

Gives (#rows, #columns)

计算基本的统计数据

data.describe()

打印出数据的前 3 行。与之类似,data.tail(3) 对应的是数据的最后3行。

data.head(3)

打印出第八行

data.loc[8]

打印第八行名为「column_1」的列

data.loc[8,  column_1 ]

第四到第六行(左闭右开)的数据子集

data.loc[range(4,6)]

将第八行名为 column_1 的列替换为「english」

data.loc[8,  column_1 ] =  english

三、Pandas 的数据处理的重要应用

1.检测缺失值

null_df = data.isnull().sum()

2.筛选数据

Pandas提供了查询 query()方法来过滤DataFrame。它提供了一种简单的选择方法, 并且还简化了基于索引的选择任务。pd.concat用于数据合并,合并筛选出的新数据,默认上下堆叠(默认axis=0),若参数axis=1,则设置为左右拼接。

new_data_1 = data.query('age<=40 & charges<=10000') # 40岁以下 且 10000元以下
new_data_2 = data.query('age>40 & age<=50 & charges<=12500') # 40岁至50岁之间 且 12500元以下
new_data_3 = data.query('age>50 & charges<=17000') # 50岁以上 且 17000元以下
new_data = pd.concat([new_data_1, new_data_2, new_data_3], axis=0)

3.得到自变量和因变量

.iloc[],即index locate ,.iloc 是根据行数与列数来索引的,参数是整型,注意索引从0开始。中括号里面是先行后列,以逗号分割。注意此处区间前闭后开

.loc[],中括号里面是先行后列,以逗号分割,行和列分别是行标签和列标签。.loc是用行列标签来进行选择数据的。

x = new_data.iloc[:, 0:1].values
y = new_data['charges'].values

四、Pandas 的一些函数

1.统计出现的次数

data[ column_1 ].value_counts()

2.在所有的行、列或者全数据上进行操作

.map() 运算给一列中的每一个元素应用一个函数

data[ column_1 ].map(len)
#len() 函数被应用在了「column_1」列中的每一个元素上
data[ column_1 ].map(len).map(lambda x: x/100).plot()
#在一行中执行多个操作(.map() 和.plot())
data.apply(sum)
#.apply() 会给一个列应用一个函数。
#.applymap() 会给表 (DataFrame) 中的所有单元应用一个函数。

五、tqdm

在处理大规模数据集时,pandas 会花费一些时间来进行.map()、.apply()、.applymap() 等操作。tqdm 是一个可以用来帮助预测这些操作的执行何时完成的包.

from tqdm import tqdm_notebook
tqdm_notebook().pandas()

用 pandas 设置 tqdm

data[ column_1 ].progress_map(lambda x: x.count( e ))

Python Pandas库简要学习相关推荐

  1. python pandas库——pivot使用心得

    python pandas库--pivot使用心得 2017年12月14日 17:07:06 阅读数:364 最近在做基于python的数据分析工作,引用第三方数据分析库--pandas(versio ...

  2. Python pandas库|任凭弱水三千,我只取一瓢饮(7)

    上一篇链接: Python pandas库|任凭弱水三千,我只取一瓢饮(6)_Hann Yang的博客-CSDN博客 to_系列函数:22个 (12~22) Function12 to_numpy(s ...

  3. Python pandas库|任凭弱水三千,我只取一瓢饮(1)

    对Python的 pandas 库所有的内置元类.函数.子模块等全部浏览一遍,然后挑选一些重点学习一下.我安装的库版本号为1.3.5,如下: >>> import pandas as ...

  4. python pandas库读取excel/csv中指定行或列数据详解

    通过阅读表格,可以发现Pandas中提供了非常丰富的数据读写方法,下面这篇文章主要给大家介绍了关于python利用pandas库读取excel/csv中指定行或列数据的相关资料,需要的朋友可以参考下 ...

  5. pandas库基础学习

    pandas库基础学习 1.Pandas模块的数据结构 Pandas模块的数据结构主要有两种: Series DataFrame Series 是一维数组,基于Numpy的ndarray 结构 Dat ...

  6. Python pandas库|任凭弱水三千,我只取一瓢饮(5)

    上一篇链接: Python pandas库|任凭弱水三千,我只取一瓢饮(4)_Hann Yang的博客-CSDN博客 S~W:  Function46~56 Types['Function'][45: ...

  7. Python pandas库|任凭弱水三千,我只取一瓢饮(4)

    上一篇链接: Python pandas库|任凭弱水三千,我只取一瓢饮(3)_Hann Yang的博客-CSDN博客  R(read_系列2):  Function36~45 Types['Funct ...

  8. Python pandas库|任凭弱水三千,我只取一瓢饮(6)

    上一篇链接: Python pandas库|任凭弱水三千,我只取一瓢饮(5)_Hann Yang的博客-CSDN博客 DataFrame 类方法(211个,其中包含18个子类.2个子模块) >& ...

  9. Python pandas库|任凭弱水三千,我只取一瓢饮(3)

    上一篇链接: Python pandas库|任凭弱水三千,我只取一瓢饮(2)_Hann Yang的博客-CSDN博客 R(read_系列1):  Function26~35 Types['Functi ...

最新文章

  1. 观察者模式的Java实现及应用
  2. 2.2 物理层传输介质
  3. python零基础能学吗 知乎-Python零基础学习能学好吗?老男孩Python面授班
  4. [转]AS3 与 其他语言 的一些不同点
  5. HDU 1175 连连看(BFS)
  6. python 定时执行 爬虫 模块_【Python】定时执行网站爬虫
  7. VTK:图片之ImageSeparableConvolution
  8. 【openssl】利用openssl完成X509证书和PFX证书之间的互转
  9. Andorid之为何要用到NDK?
  10. 自定义PopView
  11. spfa(STL写法)简单讲解+最短路(spfa)例题 acm寒假集训日记22/1/7
  12. think php5目录结构,目录结构 · ThinkPHP5.1完全开发手册 · 看云
  13. 两个pv挂一个vg_王者荣耀2020世冠杯小组赛全部结束,TS和AG、QG和E星一个半区
  14. SNMP弱口令导致的网络入侵
  15. Win10激活彻底破解:一键获取数字权利工具问世
  16. 谷歌play商店_不断关闭时如何修复Google Play商店
  17. Android反编译锁机文件
  18. 搞语音的有关音频的基础知识
  19. QQ2009SP5和SP6后台会疯狂的访问qqlogo.qq.com:80
  20. NEXTCHIP-图像优化师

热门文章

  1. 王佩丰数据透视表(一到五讲)
  2. 群晖Synology 218+拆机升级内存12GB
  3. 含林业知识的计算机测试,2018年南京林业大学信息科学技术学院884计算机软件基础之计算机操作系统考研基础五套测试题...
  4. 掌财社:乖离率助你掌握赚钱不二法则
  5. 公文签收 php,用PHPMailer收发邮件
  6. 交换机高级特性之MUX-VLAN(多路VLAN)
  7. OpenCV学习(21) Grabcut算法详解
  8. 借助混合现实视频在虚拟现实领域脱颖而出
  9. Flutter 学习之旅 之 flutter 工程目录文件夹说明,以及几个简单 Flutter 案例
  10. linux vim yny复制粘贴,vi/vim复制粘贴命令