用Python做数据分析,Numpy,Pandas,matplotlib是怎么也绕不开的三个包,我最开始学习pandas是看的《利用Python进行数据分析》,看了好几遍,不是从头到尾看了好几遍,是顺着看、挑着看、精读略读强行读,一直没坚持完整过一遍。

后来发现了广受好评的《10分钟搞定pandas》。这是官方出品的,于是我马上动手跟着做,才发现作者就是个标题党,花了一个多小时才过完一遍。我觉得书名应该是《(每天)10分钟(一周)搞定pandas》。标题党归标题党,内容还是很好的,就是我觉得还是有点偏长,尤其对于像我这样学习自制力极差的同学。

所以这篇文章,我总结了我认为的Pandas最常用的功能,供大家学习借鉴。

  • 导入包
import pandas as pd
import numpy as np

  • 导入数据
#默认utf-8,gbk对中文的支持更好
pd.read_csv(filename,encoding='gbk')
#key是列名,value是数据,从字典导入数据需要指定index
dict1 = {'a':1,'b':2}
df = pd.DataFrame(dict1,index=[0])

  • 查看数据
#行数、列数
df.shape[0]
df.shape[1]
#前几行,后几行,默认为5
df.head()
df.tail(3)
#数据汇总统计
df.describe()
#数据概况
df.info()
#列名
df.columns
#数据类型
df.dtypes
#各列平均值
df.mean()

  • 数据选取
#按列名查看某列
df[col_name]
df.col_name
#查列名看多列
df[[col1,col2]]
#按索引查看某行,第一行:
df.iloc[0]
#按索引查看某行某列,三行四列那个元素
df.iloc[2,3]

  • 数据合并
#按行拼接
pieces = [df[2:20],df[23:30],df[35:40]]

下面这句replace知乎一直报未知错误(醉了,我在整篇文章中用二分法试出来两句),只能截图

#按列拼接
left = pd.DataFrame({'key': ['foo', 'bar'], 'col1': [1, 2]})
right = pd.DataFrame({'key': ['foo', 'bar'], 'col2': [4, 5]})
pd.merge(left,right,on='key')
#增加一列
df = pd.DataFrame(np.random.randn(8, 4), columns=['A','B','C','D'])
extra = df.iloc[-1]
data = df.append(extra)

  • 数据清理 (注意: 修改DataFrame要赋值)
#检查是否空值,返回布尔值(True,False)
df.isnull()
#返回各列空值的个数
df.isnull().sum()
#处理空值,用x替换空值
df = df.fillna(x)
#删除包含空值的行
df = df.dropna()
#删除包含空值的列
df = df.dropna(axis=1)

  • 数据处理
#选择某列大于1的行
df[df[colname]>1]
#选择某列包含x或者y字段的行,pandas有很多字符串处理函数
df[df[colname].str.contains(x|y)]

下面这句replace知乎一直报未知错误(再次醉了),只能截图

#转换数据类型
df.num = df.num.astype(float)
#查看某列的唯一值的个数
df.colname.value_counts()
#按照某列排序(默认升序)
df.sort_values(by = colname,ascending=True)
#应用函数,简单的可以用lambda
df.apply(lambda x:x.max()-x.min())
#复杂的可以先定义好函数
def func():pass
df.apply(func)
#也可以用numpy自带的,例如cumsum累加
df.apply(np.cumsum)

  • 分组聚合
#准备数据
df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar','foo', 'bar', 'foo', 'foo'],'B' : ['one', 'one', 'two', 'three','two', 'two', 'one', 'three'],'C' : np.random.randn(8),'D' : np.random.randn(8)})
#对两列进行分组并求均值,类似于SQL里的group by
df.groupby(['A','B']).mean()
#数据透视表,以col1为行,col2为列,取col3和col4的最大值,可以参考Excel的数据透视表
df.pivot_table(index=col1,columns=col2,values=[col3,col4],aggfunc=max)

Pandas最常用的函数方法就介绍到这里了!强烈建议各位同学过一遍官方的【10 Minutes to pandas】!

致力于Python数据分析的同学去攻克【利用Python进行数据分析·第2版】吧!

看到这里点个赞呗!

评论【pandas】获取

【利用Python进行数据分析·第2版中文版】 (基于Python3.6)

pandas 批量修改列名_十分钟想搞定pandas?相关推荐

  1. pandas归一化某一列_十分钟带你了解pandas常用方法

    pandas常用知识 一.读取csv文件为dataframe 二.dataframe的数据概况 三.取列数据 四.取行数据 五.取某一单元格数据 六.缺失值处理 七.归一化处理 八.排序 九.索引重新 ...

  2. pandas 批量修改列名_pandas修改DataFrame列名的方法

    在做数据挖掘的时候,想改一个DataFrame的column名称,所以就查了一下,总结如下: 数据如下: >>>import pandas as pd >>>a = ...

  3. python异常处理(十分钟彻底搞定!)

    异常处理: 捕获异常,简单的捕获异常语法,在程序开发时,可以尝试加如 try来捕获异常 try:尝试执行的代码 except:出现错误的处理 try尝试 下方填写要尝试的密码,不确定能不能够正常执行的 ...

  4. 十分钟彻底搞定python异常处理

    异常处理: 捕获异常,简单的捕获异常语法,在程序开发时,可以尝试加如 try来捕获异常 try: 尝试执行的代码except: 出现错误的处理 try尝试 下方填写要尝试的密码,不确定能不能够正常执行 ...

  5. pandas批量为列名添加字符并重命名实战

    pandas批量为列名添加字符并重命名实战 目录 pandas批量为列名添加字符并重命名实战 # 数据split示例 # 批量遍历字段及重置<

  6. python使用教程pandas-十分钟搞定pandas(入门教程)

    本文是对pandas官方网站上<10Minutes to pandas>的一个简单的翻译,原文在这里.这篇文章是对pandas的一个简单的介绍,详细的介绍请参考:Cookbook .习惯上 ...

  7. 5 加盐_洗花甲时,别只放盐了!老渔民教您一招,5分钟就搞定,太省事了

    导读:洗花甲时,别只放盐了!老渔民教您一招,5分钟就搞定,太省事了.大家都知道吃花甲前要将花甲中的沙子去除才可以吃,所以很多人都会用食盐浸泡花甲,虽然用食盐可以去除花甲中一部分的沙子,但是用食盐浸泡花 ...

  8. 【Python基础】一文搞定pandas的数据合并

    作者:来源于读者投稿 出品:Python数据之道 一文搞定pandas的数据合并 在实际处理数据业务需求中,我们经常会遇到这样的需求:将多个表连接起来再进行数据的处理和分析,类似SQL中的连接查询功能 ...

  9. 一文搞定pandas的数据合并

    作者:来源于读者投稿 出品:Python数据之道 一文搞定pandas的数据合并 在实际处理数据业务需求中,我们经常会遇到这样的需求:将多个表连接起来再进行数据的处理和分析,类似SQL中的连接查询功能 ...

最新文章

  1. oracle加as报错,【Oracle】-【sqlplus / as sysdba登录报错问题】-新用
  2. Android性能优化 - 消除卡顿
  3. 设置自增递增零开始_MySQL中如何设置自动递增id主键重新计数从1开始?
  4. resource.arsc二进制内容解析 之 RES_TABLE_TYPE_TYPE (Config List)
  5. 【linux】Linux查看服务器登陆用户信息命令(w、last、who)详解
  6. Seurat | 单细胞分析工具
  7. 让input标签的range属性显示数值
  8. 安卓HTML中打开一个连接!点击跳转了,可以实现返回上一级的HTML的页面!
  9. 【Elasticsearch】match_phrase搜不出来,怎么办
  10. Android 图标上面添加提醒(一)使用Canvas绘制
  11. 4x4矩阵键盘c语言,4X4键盘矩阵键盘程序
  12. sqlmap绕过waf的脚本介绍(tamper脚本介绍)
  13. java毕业设计大学生心理咨询管理系统mybatis+源码+调试部署+系统+数据库+lw
  14. 录屏怎么录声音?注意一点轻松录制外部音源
  15. Scheduling
  16. 对DestoryWindow的解释.
  17. Ubuntu18 ROS运行报错exit code -11
  18. python 以图搜图
  19. 研究ffmepg中有感(NDK 与 JNI 的关系)
  20. [C++复健日常] for_each

热门文章

  1. 剑指offer面试题66. 构建乘积数组
  2. DeepStream参数配置之sink
  3. 计算机视觉三大会议——ICCV、ECCV和CVPR
  4. 图像分割(一):K-means聚类算法
  5. python实现人脸检测及识别(2)---- 利用keras库训练人脸识别模型
  6. 非极大值抑制(Non-Maximum Suppression,NMS)(转)
  7. Mybatis简单数据库查询
  8. [C++] 前置++与后置++
  9. 实现ViewPager一次滑动多页(保持居中)
  10. WebComponent魔法堂:深究Custom Element 之 从过去看现在