前言

等到了我们学校的数据挖掘课程,就从最简单的pandas开始记录我的数据挖掘学习历程吧!希望这份手册能在之后需要的时候帮助到大家。


pandas使用手册

第一部分:series基础

操作参考:

创建series

取一个元素

取多个元素

赋值

Series间的计算

Series函数的使用

使用apply

练习题:

第二部分:dataframe基础

操作参考:

创建DataFrame

查看DataFrame信息

取一个列成一个series

取多个列成一个DataFrame

条件读取

取出一行成为series

赋值

groupby操作

使用apply

生成一列series数据的便捷方法:

练习题:

第三部分:dataframe绘图

操作参考:

条件删除行

直方图

散点图

箱型图


series基础

操作参考:

创建series

>>> ser2 = Series(range(4),index = ["a","b","c","d"])

取一个元素

>>> ser2["a"]
>>> ser2[1]

取多个元素

>>> ser2[1:3]
>>> ser2[['a', 'c']]

赋值

>>> ser2["a"] = 7      #赋一个值
>>> ser2[1:3] = 10     #批量赋值
>>> ser2[['a', 'c']] = [9, 8]

Series间的计算

>>> print(a + b)
>>> print(a * 2)
>>> print(a >= 3)   #产生true false的新series
>>> print(a[a >= 3])  #取出true false series的对应的值成series,相当于where条件

Series函数的使用

>>> print(a.mean()) #均值
>>> print(a.sum()) #求和

使用apply

>>> print(a.apply(lambda x:x**2))  #全部平方

练习题:

  1. 创建一个6个元素的Series, 值是[4,5,6,7,8,9], index是 ‘a’到 ‘f’
  2. 两种方法取ser的第二个元素
  3. 求ser的平均值和中位数
  4. 找到ser中所有偶数:包含判断以及取数两部分
  5. 将ser中所有偶数,改成10,12,14
  6. 将ser中所有偶数,改成2
  7. 将ser中所有偶数,翻倍
  8. 将ser应用自定义函数,当数字是奇数,翻倍;当数字是偶数,除以2

dataframe基础

操作参考:

创建DataFrame

>>> df = pd.DataFrame([[1,2,3], [6,7,8]],columns= ["a","b","c"])
>>> df = pd.DataFrame({'country':['aaa','bbb','ccc'], 'population':[10,12,14]})
>>> df = pd.read_csv("yours.csv")

查看DataFrame信息

>>>df.info()
>>>df.index
>>>df.columns
>>>df.dtypes
>>>df.values

取一个列成一个series

>>> df["a"]
>>> df.loc[:, 'a']

取多个列成一个DataFrame

>>> df[["a","c"]]
>>> df.loc[[1,2], ['a']]  #只取两行a列

条件读取

>>> df[df['a'] > 3]
>>> df[(df['a'] > 3) & (df['b']< 8)]

取出一行成为series

>>> df.iloc[0]

赋值

>>>df['a'] = [1,2,3]  #注意行数一致
>>>df[['a', 'c']] = 8   #若要取指定行,需要用loc或iloc
>>>df.loc[:, 'd'] = df.loc[:, 'b']    #将b列赋值到新的d列
>>>df.loc[df['b'] < 3, 'c'] =  df.loc[df['b'] < 3,'d']#将b<3 的d列赋值到c列 注意两边的条件要一样,才能满足索引一致的要求,否则赋值越界

groupby操作

>>> df = pd.DataFrame({'key':['A','B','C','A','B','C','A','B','C'],'data':[0,5,10,5,10,15,10,15,20]})
>>> df.groupby('key').sum()  #按key成组,每组所有列求和
>>> df.groupby('key')['data'].mean()   #按key成组,每组求均值,取data列的聚合结果series
>>> for key, gdata in df.groupby('Sex'):     #gdata是一个DataFrame
>>>print(key, gdata.values)   

使用apply

>>>def my_min(a, b):   #先定义函数return min(abs(a),abs(b))
>>>df1['k'] = df.apply(lambda row: my_min(row['val_1'], row['val_2']), axis=1)    #使用匿名函数传每行的特定列, 返回一个series 再赋值到k列,注意axis=1、

生成一列series数据的便捷方法:

>>> df['val_1'] = df['value'].diff(k)     #同列逐行向上/下相减
>>> df['val_2'] = df[''value'].shift(k)   #所有行向上/下移动k位

练习题:

  1. 读取天气的数据文件weather.csv
  2. 用apply实现一列rain = rain08+rain20;若一边存在999990,则返回999990
  3. 按station补前一天日期: 按station分组,每组内部,使用shift方法将前一天的数据移动到今天
  4. 按城市补全rain08: 按city分组,将同一天内rain08中999990的值,替换成同城所有station的rain08的非999990的 均值,如果都缺失则补0;

dataframe绘图

操作参考:

条件删除行

df = df.drop( df[ ( df['value'] < 50) & ( df['value'] > 20)].index)

其中drop传入的是 df条件取出的的index

直方图

df['temperature'].plot.hist( bins = 20)

散点图

df.plot.scatter(x = 'humidity', y = 'temperature')

箱型图

df[['temperature', 'humidity']].plot.box()

【数据挖掘】pandas使用手册相关推荐

  1. Pandas 学习手册中文第二版:1~5

    原文:Learning pandas 协议:CC BY-NC-SA 4.0 译者:飞龙 一.Pandas 与数据分析 欢迎来到<Pandas 学习手册>! 在本书中,我们将进行一次探索我们 ...

  2. pandas apply lambda_数据分析必备!Pandas实用手册(PART III)

    这一系列的对应代码,大家可以在我共享的colab上把玩, ? https://colab.research.google.com/drive/1WhKCNkx6VnX1TS8uarTICIK2ViPz ...

  3. 数据挖掘 pandas基础入门之查看数据

    为什么80%的码农都做不了架构师?>>>    import pandas import numpy# 通过传递一个 numpyarray,时间索引以及列标签来创建一个DataFra ...

  4. 数据挖掘 pandas基础入门之操作

    为什么80%的码农都做不了架构师?>>>    统计 import pandas import numpy# 通过传递一个 numpyarray,时间索引以及列标签来创建一个Data ...

  5. Python数据分析之Pandas读写外部数据文件

    点击上方"Datawhale",选择"星标"公众号 第一时间获取价值内容 阅读目录 1 引言 2 文本文件(txt.csv) 2.1 读取数据 2.2 写入数据 ...

  6. python txt文件读写 pandas_Python数据分析之Pandas读写外部数据文件!

    阅读目录 1 引言 2 文本文件(txt.csv) 2.1 读取数据 2.2 写入数据 3 excel文件 3.1 读取数据 3.2 写入数据 4 mysql数据库 5 mongodb数据库 1 引言 ...

  7. python 按列读取数据并写入txt_Python数据分析之Pandas读写外部数据文件!

    阅读目录 1 引言 2 文本文件(txt.csv) 2.1 读取数据 2.2 写入数据 3 excel文件 3.1 读取数据 3.2 写入数据 4 mysql数据库 5 mongodb数据库 1 引言 ...

  8. pandas 取excel 中的某一列_Python数据分析之Pandas读写外部数据文件

    点击"机器学习算法与Python实战","置顶"公众号 重磅干货,第一时间送达 阅读目录 1 引言 2 文本文件(txt.csv) 2.1 读取数据 2.2 写 ...

  9. ApacheCN Pandas 教程集

    Pandas 秘籍 零.前言 一.Pandas 基础 二.数据帧基本操作 三.开始数据分析 四.选择数据子集 五.布尔索引 六.索引对齐 七.分组以进行汇总,过滤和转换 八.将数据重组为整齐的表格 九 ...

最新文章

  1. 人民广场怎么走? 地铁换乘算法的实现 MikeTech | MikeTech
  2. LA3415保守的老师
  3. 1032:大象喝水查
  4. SAP Commerce Cloud 架构概述
  5. std::setprecision、std::ios::fixed使用说明
  6. (12)MSP430F5529 常用内置函数和一些说明
  7. CAP-分布式事务的解决方案
  8. javascript 模块化机制
  9. Golang读取目录文件
  10. 通过PPC来播放PC声音
  11. SEO采集系统-SEO采集工具自动采集伪原创发布
  12. 有道云笔记怎么保存html,有道云笔记如何保存网页 有道笔记保存页面教程
  13. Android微信九宫格图片展示控件
  14. js中的JSON对象转换,过滤特殊字符数据
  15. Python实现桌面壁纸设置
  16. shell脚本入门与Netkeeper破解路由
  17. Android学习笔记——手机多媒体运用
  18. [剑指 offer] -- 动态规划-- 面试题46. 把数字翻译成字符串
  19. 专栏推介:《Hi3861网络编程实验》
  20. 今日头条2018校招后端方向(第二批)

热门文章

  1. Hexo如何显示latex公式
  2. spring-cloud-config失败快速响应与重试
  3. sr550服务器配置硬盘,华为服务器 RAID卡配置 SR450C-M (Avago3508)
  4. 详解双闭环控制算法(理论篇)
  5. 神经网络核心问题有哪些,神经网络核心问题研究
  6. john and hydra using de-ice1.100
  7. 2022年全国最新消防设施操作员模拟真题及答案
  8. 刘韧:怎样培养记者素养
  9. MP地面站二次开发教程(三)Mavlink通讯协议(4)地面站数据显示调试及其指令填充
  10. ardupilot 地形数据触发RTL模式