IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 数据分析利器Python——Pandas(二、运算、函数、文件、统计方法) -> 正文阅读

[人工智能]数据分析利器Python——Pandas(二、运算、函数、文件、统计方法)

一、运算与对齐

pandas可对不同索引的对象进行运算,索引与数据的对应关系仍然存在于数组运算的结果中。没对齐的位置补NaN

Series和Series、DataFrame和DataFrame均可以进行运算,原则是只有行索引和列索引相同的地方才可进行运算,运算结果的行与列数按照原行与列的最大值算。【Series的对齐操作发生在索引上,DataFrame的对齐操作发生在行与列上】

Series和DataFrame进行运算时,Series被看作行数据(index被看做列名组合),和DataFrame中数据进行运算。

二、函数应用

map()函数

将函数作用于一个Series的每一个元素,函数可以是Numpy中的通用函数,也可以是自定义函数。map函数只应用Series对象

import numpy as np
import pandas as pd
import math
a = list(range(10)) # 产生一个a列表
result = map(math.sqrt,a) # 产生了map对象,只是一个操作,直到访问这个它才会产生结果
list(result) # 这个时候才会产生sqrt之后的值
# --------------------------------------------------------------------
ser = pd.Series(a)
ser.map(np.sqrt) # Series可以直接使用map函数

以上是以通用函数为例,当然也可以自定义函数,然后将其传入map,如map(func,a)

apply()函数和applymap()函数

通过apply()将函数应用到行或列上,可用在Series和DataFrame;通过applymap()将函数应用到每个数据上。如下图所示,apply默认从左到右按列执行
在这里插入图片描述

import numpy as np
import pandas as pd
df = pd.DataFrame(np.arange(10).reshape(5,2),columns=['col_1','col_2'])
df.apply(np.sum)
'''
输出结果
col_1    20
col_2    25
dtype: int64
'''
df.apply(np.sum,axis=1) # 从上到下按行操作
'''
输出结果
0     1
1     5
2     9
3    13
4    17
dtype: int64
'''
df.applymap(np.sqrt) # 对每一个值操作

三、文件读写操作

pd.read_csv(filepath,usecols,index_col) # 读取数据
'''
filepath:文件路径
usecols:指定需要读取的列,默认全部读取
index_col:指定某列为索引列,默认会生成一列从0开始的索引
'''
df.info() # 快速查看数据基本信息
df.to_csv(filepath,index) # 保存数据
'''
filepath:保存的路径
index:是否将索引列保存,默认为True
'''

四、排序操作

4.1、按照索引排序

sort_idex(),对DataFrame操作时要注意轴的方向,默认axis=0,默认为升序排列,可通过ascending修改
data.sort_index(ascending=False)倒序排列
如果设置axis=1,则会按照列名的英文字母顺序排列各列的顺序

4.2、按值排序

sort_values():按单列的值排序,有两个参数by,ascending
by = ‘label’:按照label列排序,可以为列表,by=[‘rank’,‘name’]
ascending:默认True升序,False降序,可以为列表ascending=[True,False]

五、数据清洗

5.1、操作目标

  • 缺失数据
  • 重复数据
  • 无效数据

5.2、处理缺失数据

(1)判断是否存在缺失值
ser_obj.isnull(),df_obj.isnull()

可以结合any判断行或列中是否存在缺失值,不需要详细信息,只要有空就是True,没有就是False,它默认对列进行判断,可以通过修改axis=1对行判断是否有存在空值的行

dropna():丢弃缺失数据,注意inplace参数,可以通过subset=[]设置参考列,只有当subset里的参考列中存在空值才会进行drop。
fillna():填充缺失数据。
df.ffill():按照之前的数据填充
df.bfill():按照之后的数据填充

在使用ffill和bfill时,要注意排列顺序

5.3、处理重复数据

data.duplicated(subset)返回布尔型Series表示每行和上一行相比是否为重复行
data.drop_duplicated(subset,keep)过滤重复行

  • 默认判断全部列,可通过subset指定某些列,可以为列表
  • keep,默认(=first)保留第一次出现的数据,可以通过设置keep=last保留最后一次出现的数据

5.4、替换数据

replace(to_replace)
参数to_replace为需要被替换的值,可以是数值、字符串、列表、字典

data.replace([0,1,2,3],4) # 列表中的数字全都替换成4
data.replace([0,1,2,3],[3,2,4,5]) # 对应位置的数字进行替换
data.replace({0:10,10:100}) # 将0换成10,10换成100

六、常用统计方法

(1)describe()
快速查看每列数据的统计信息。

  • count,非空数据个数
  • mean,均值
  • std,标准差
  • min,最小值
  • 25%,第一四分位数
  • 50%,第二四分位数
  • 75%,第三四分位数
  • max,最大值

四分位数:是指在统计学中把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值,若没有落在分割点上,则取左右量数值的平均值作为分位数,如图中Q2

(2)quantile(q)
输出指定位置的百分数,默认q=0.5,当q=0.25代表取四分之一位数
(3)

  • sum()求和【字符串相加是字符串的拼接,布尔值把True作为1,False作为0】
  • mean()求均值
  • median()求中位数【从小到大排序取中间位置】
  • count()求非空的个数
    【以上不对缺失数据进行统计】
  • max()求最大值
  • min()求最小值
  • idxmax()求最大值对应索引
  • idxmin()求最小值对应索引
  • mad(),求平均绝对误差
  • var()求方差
  • std()求标准差
  • cumsum()求累加【字符串的加和是拼接】
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-05-03 09:23:54  更:2022-05-03 09:25:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:28:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码