Pandas数据分析常用函数的使用

目录
  • 一、数据导入导出
  • 二、数据加工处理
  • 三、列表格式设置

Pandas是数据处理和分析过程中常用的Python包,提供了大量能使我们快速便捷地处理数据的函数和方法,在此主要整理数据分析过程pandas包常用函数,以便查询。更多函数学习详见padans官网

一、数据导入导出

pandas提供了一些用于将表格型数据读取为DataFrame对象函数,如read_csv,read_table。输入pd.read后,按Tab键,系统将把以read开头的函数和模块都列出来,根据需要读取的文件类型选取。

#包的安装导入
import pandas as pd

#查询帮助文档
pd.read_csv?

#数据载入(仅罗列一部分常用参数)
df = pd.read_csv(
     filePath, #路径 
     sep=',',  #分隔符
     encoding='UTF-8', #用于unicode的文本编码格式,如GBK,UTF-8
     engine='python',
     header = None, #第一行不作为列名
     names= [['col1','col2']], #字段名设置
     index_col=None, 
     skiprows=None, #跳过行None
     error_bad_lines=False #错误行忽略    
)
# 数据导出
df.to_csv(filePath,
           sep = ',',
           index = False)

二、数据加工处理

1)重复值处理

# Pandas提供了duplicated、Index.duplicated、drop_duplicates函数来标记及删除重复记录

#找出重复行位置
dIndex = df.duplicated()
#根据某些列找出重复位置
dIndex = df.duplicated('id')
dIndex = df.duplicated(['id', 'key'])
#根据返回值提取重复数据
df[dIndex]
#删除重复行
newdf = df.drop_duplicated()
#去掉重复数据
newdf = df.drop_duplicated(keep = False)
#根据'key'字段去重,并保留重复key字段第一个
##subset:指定的标签或标签序列,仅删除这些列重复值,默认情况为所有列
##keep:确定要保留的重复值:first(保留第一次出现的重复值,默认)last(保留最后一次出现的重复值)False(删除所有重复值)
newdf = df.drop_duplicated(subset = ['key'],keep = 'first')

2)缺失值处理

# 输出某列是否有为空值
print(df.isnull().any(axis = 0))
# 获取空值所在的行
df[df.isnull().any(axis = 1)]
# 空值填充
df.fillna('未知')
# 删除空值
newDF = dropna(axis="columns",how="all",inplace=False) #how可选有any和all,any表示只要有空值出现就删除,all表示全部为空值才删除,inplace表示是否替换掉原本数据

3)空格处理

newName = df['name'].str.lstrip()
newName = df['name'].str.rstrip()
newName = df['name'].str.strip()

4)字段拆分

newDF = df['name'].str.split(' ', 1, True)

5)筛选数据

#单条件
df[df.comments>10000]
#多条件
df[df.comments.between(1000, 10000)]
#过滤空值所在行
df[pandas.isnull(df.title)]
#根据关键字过滤
df[df.title.str.contains('台电', na=False)]
#~为取反
df[~df.title.str.contains('台电', na=False)]
#组合逻辑条件
df[(df.comments>=1000) & (df.comments<=10000)]

6)随机抽样

#设置随机种子
numpy.random.seed(seed=2)
#按照个数抽样
data.sample(n=10)
#按照百分比抽样
data.sample(frac=0.02)
#是否可放回抽样,
#replace=True,可放回,
#replace=False,不可放回
data.sample(n=10, replace=True)

7)数据匹配

items = pandas.read_csv(
    'D:\\PDA\\4.12\\data1.csv',
    sep='|',
    names=['id', 'comments', 'title']
)
prices = pandas.read_csv(
    'D:\\PDA\\4.12\\data2.csv',
    sep='|',
    names=['id', 'oldPrice', 'nowPrice']
)
#默认只是保留连接上的部分
itemPrices = pd.merge(
    items,
    prices,
    left_on='id',
    right_on='id',
    how = 'left'
)
#how:连接方式,有inner、left、right、outer,默认为inner;

8)数据合并

data = pd.concat([data1, data2, data3])

9)时间处理

data['时间'] = pandas.to_datetime(
    data.注册时间,
    format='%Y/%m/%d'
)
data['格式化时间'] = data.时间.dt.strftime('%Y-%m-%d')
data['时间.年'] = data['时间'].dt.year
data['时间.月'] = data['时间'].dt.month
data['时间.周'] = data['时间'].dt.weekday
data['时间.日'] = data['时间'].dt.day
data['时间.时'] = data['时间'].dt.hour
data['时间.分'] = data['时间'].dt.minute
data['时间.秒'] = data['时间'].dt.second

10)数据标准化

data['scale'] = round(
    (
        data.score-data.score.min()
    )/(
        data.score.max()-data.score.min()
    )
    , 2
)

11)修改列名和索引

#将id列设为索引
df = df.set_index('id')

12)排序

#选定列排序
df.sort_values(by=['age', 'gender'], ascending=[False, True], inplace=True, ignore_index=True)

三、列表格式设置

pd.set_option('display.max_rows',xxx) # 最大行数
pd.set_option('display.min_rows',xxx) # 最小显示行数
pd.set_option('display.max_columns',xxx) # 最大显示列数
pd.set_option ('display.max_colwidth',xxx) #最大列字符数
pd.set_option( 'display.precision',2) # 浮点型精度
pd.set_option('display.float_format','{:,}'.format) #逗号分隔数字
pd.set_option('display.float_format',  '{:,.2f}'.format) #设置浮点精度
pd.set_option('display.float_format', '{:.2f}%'.format) #百分号格式化
pd.set_option('plotting.backend', 'altair') # 更改后端绘图方式
pd.set_option('display.max_info_columns', 200) # info输出最大列数
pd.set_option('display.max_info_rows', 5) # info计数null时的阈值
pd.describe_option() #展示所有设置和描述
pd.reset_option('all') #重置所有设置选项

到此这篇关于Pandas数据分析常用函数的使用的文章就介绍到这了,更多相关Pandas数据分析常用函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python数据分析库pandas基本操作方法

    pandas是什么? 是它吗? ....很显然pandas没有这个家伙那么可爱.... 我们来看看pandas的官网是怎么来定义自己的: pandas is an open source, easy-to-use data structures and data analysis tools for the Python programming language. 很显然,pandas是python的一个非常强大的数据分析库! 让我们来学习一下它吧! 1.pandas序列 import nump

  • Python数据分析之pandas比较操作

    一.比较运算符和比较方法 比较运算符用于判断是否相等和比较大小,Python中的比较运算符有==.!=.<.>.<=.>=六个,Pandas中也一样. 在Pandas中,DataFrame和Series还支持6个比较方法,详见下表. 方法 英文全称 用途 eq equal to 等于 ne not equal to 不等于 lt less than 小于 gt greater than 大于 le less than or equal to 小于等于 ge greater than

  • Python数据分析之pandas读取数据

    一.三种数据文件的读取 二.csv.tsv.txt 文件读取 1)CSV文件读取: 语法格式:pandas.read_csv(文件路径) CSV文件内容如下: import pandas as pd file_path = "e:\\pandas_study\\test.csv" content = pd.read_csv(file_path) content.head() # 默认返回前5行数据 content.head(3) # 返回前3行数据 content.shape # 返回

  • Python数据分析Pandas Dataframe排序操作

    目录 1.索引的排序 2.值的排序 前言: 数据的排序是比较常用的操作,DataFrame 的排序分为两种,一种是对索引进行排序,另一种是对值进行排序,接下来就分别介绍一下. 1.索引的排序 DataFrame 提供了sort_index()方法来进行索引的排序,通过axis参数指定对行索引排序还是对列索引排序,默认为0,表示对行索引排序,设置为1表示对列索引进行排序:ascending参数指定升序还是降序,默认为True表示升序,设置为False表示降序, 具体使用方法如下: 对行索引进行降序

  • Python数据分析之 Pandas Dataframe条件筛选遍历详情

    目录 一.条件筛选 二.Dataframe数据遍历 for...in...语句 iteritems()方法 iterrows()方法 itertuples()方法 一.条件筛选 查询Pandas Dataframe数据时,经常会筛选出符合条件的数据,接下来介绍一下具体的使用方式. 示例Dataframe如下: 单条件筛选,例如查询gender为woman的数据: df[df["gender"]=="woman"] # 或 df.loc[df["gender

  • Python数据分析模块pandas用法详解

    本文实例讲述了Python数据分析模块pandas用法.分享给大家供大家参考,具体如下: 一 介绍 pandas(Python Data Analysis Library)是基于numpy的数据分析模块,提供了大量标准数据模型和高效操作大型数据集所需要的工具,可以说pandas是使得Python能够成为高效且强大的数据分析环境的重要因素之一. pandas主要提供了3种数据结构: 1)Series,带标签的一维数组. 2)DataFrame,带标签且大小可变的二维表格结构. 3)Panel,带标

  • Python数据分析之 Pandas Dataframe合并和去重操作

    目录 一.之 Pandas Dataframe合并 二.去重操作 一.之 Pandas Dataframe合并 在数据分析中,避免不了要从多个数据集中取数据,那就避免不了要进行数据的合并,这篇文章就来介绍一下 Dataframe 对象的合并操作. Pandas 提供了merge()方法来进行合并操作,使用语法如下: pd.merge(left, right, how="inner", on=None, left_on=None, right_on=None, left_index=Fa

  • Python Pandas数据分析之iloc和loc的用法详解

    Pandas 是一套用于 Python 的快速.高效的数据分析工具.它可以用于数据挖掘和数据分析,同时也提供数据清洗功能.本篇目录如下: 一.iloc 1.定义 iloc索引器用于按位置进行基于整数位置的索引或者选择. 2.语法 df.iloc [row selection, column selection] 3.代码示例 (1)导入数据 (2)选择单行或单列 (3)选择多行或多列 (4)注意 iloc选择一行时返回Series,选择多行返回DataFrame,通过传递列表可转为DataFra

  • Pandas数据分析常用函数的使用

    目录 一.数据导入导出 二.数据加工处理 三.列表格式设置 Pandas是数据处理和分析过程中常用的Python包,提供了大量能使我们快速便捷地处理数据的函数和方法,在此主要整理数据分析过程pandas包常用函数,以便查询.更多函数学习详见padans官网 一.数据导入导出 pandas提供了一些用于将表格型数据读取为DataFrame对象函数,如read_csv,read_table.输入pd.read后,按Tab键,系统将把以read开头的函数和模块都列出来,根据需要读取的文件类型选取. #

  • Python Pandas常用函数方法总结

    初衷 NumPy.Pandas.Matplotlib.SciPy 等可以说是最最最常用的 Python 库了.我们在使用 Python 库的时候,通常会遇到两种情况.以 Pandas 举例. 我想对 Pandas 数据结构的数据实现某种操作,但是我不知道或者说在我的印象里似乎已经不记得是否有这样的函数方法,如果有,又该用哪个方法呢? 我想实现某种数据操作,我记得我用过或者见过某个函数可以实现这个功能,但是我死活想不起来那个函数叫啥了.或者,我想起来了哪个函数可以实现这个功能,但是我想知道是否有更

  • Pandas数据分析之groupby函数用法实例详解

    目录 正文 一.了解groupby 二.数据文件简介 三.求各个商品购买量 四.求各个商品转化率 五.转化率最高的30个商品及其转化率 小小の总结 正文 今天本人在赶学校课程作业的时候突然发现groupby这个分组函数还是蛮有用的,有了这个分组之后你可以实现很多统计目标. 当然,最主要的是,他的使用非常简单 本期我们以上期作业为例,单走一篇文章来看看这个函数可以实现哪些功能: (本期需要准备的行囊): jupyter notebook环境(anaconda自带) pandas第三方库 numpy

  • Pandas数据分析的一些常用小技巧

    Pandas小技巧 import pandas as pd pandas生成数据 d = {"sex": ["male", "female", "male", "female"], "color": ["red", "green", "blue", "yellow"], "age": [1

  • 学会这29个常用函数,你就是Pandas专家

    目录 1.读取 csv 文件 df.read_csv 2.写入 csv 文件 df.to_csv 3.数据帧 pd.DataFrame 4. 获取数据帧的形状 df.shape 5.查看前 n 行 df.head(n) 6.打印列的类型 df.dtypes 7.修改列的类型 astype 8-9.打印有关 DataFrame 的描述性信息 10. 填充 NaN 值 df.fillna 11.数据帧的关联 df.merge 12.数据帧排序 df.sort_values 13.数据帧分组 df.g

  • Python pandas常用函数详解

    本文研究的主要是pandas常用函数,具体介绍如下. 1 import语句 import pandas as pd import numpy as np import matplotlib.pyplot as plt import datetime import re 2 文件读取 df = pd.read_csv(path='file.csv') 参数:header=None 用默认列名,0,1,2,3... names=['A', 'B', 'C'...] 自定义列名 index_col='

  • Pandas中常用的七个时间戳处理函数使用总结

    目录 1.查找特定日期的某一天的名称 2.执行算术计算 3.使用时区信息来操作转换日期时间 4.使用日期时间戳 5.创建日期系列 6.操作日期序列 7.使用时间戳数据对数据进行切片 在零售.经济和金融等行业,数据总是由于货币和销售而不断变化,生成的所有数据都高度依赖于时间.如果这些数据没有时间戳或标记,实际上很难管理所有收集的数据.Python 程序允许我们使用 NumPy timedelta64 和 datetime64 来操作和检索时间序列数据.sklern库中也提供时间序列功能,但 Pan

  • Python数据分析之NumPy常用函数使用详解

    目录 文件读入 1.保存或创建新文件 2.读取csv文件的函数loadtxt 3.常见的函数 4.股票的收益率等 5.对数收益与波动率 6.日期分析 总结 本篇我们将以分析历史股价为例,介绍怎样从文件中载入数据,以及怎样使用NumPy的基本数学和统计分析函数.学习读写文件的方法,并尝试函数式编程和NumPy线性代数运算,来学习NumPy的常用函数. 文件读入 读写文件是数据分析的一项基本技能 CSV(Comma-Separated Value,逗号分隔值)格式是一种常见的文件格式.通常,数据库的

  • 详谈pandas中agg函数和apply函数的区别

    在利用python进行数据分析 这本书中其实没有明确表明这两个函数的却别,而是说apply更一般化. 其实在这本书的第九章'数组及运算和转换'点到了两者的一点点区别:agg是用来聚合运算的,所谓的聚合当然是合成的成分比较大些,这一节开头就点到了:聚合只不过是分组运算的其中一种而已.它是数据转换的一个特例,也就是说,它接受能够将一维数组简化为标量值的函数. 当然这两个函数都是作用在groupby对象上的,也就是分完组的对象上的,分完组之后针对某一组,如果值是一维数组,在利用完特定的函数之后,能做到

  • 分享一下Python数据分析常用的8款工具

    Python是数据处理常用工具,可以处理数量级从几K至几T不等的数据,具有较高的开发效率和可维护性,还具有较强的通用性和跨平台性.Python可用于数据分析,但其单纯依赖Python本身自带的库进行数据分析还是具有一定的局限性的,需要安装第三方扩展库来增强分析和挖掘能力. Python数据分析需要安装的第三方扩展库有:Numpy.Pandas.SciPy.Matplotlib.Scikit-Learn.Keras.Gensim.Scrapy等,以下是千锋武汉Python培训老师对该第三方扩展库的

随机推荐