一、pandas概述

1.pandas是一个强大的Python数据分析的工具包,是基于NumPy构建的。

2.pandas的主要功能

  • 具备对其功能的数据结构DataFrame、Series
  • 集成时间序列功能
  • 提供丰富的数学运算和操作
  • 灵活处理缺失数据

3.python中操作方式:

  • 安装方法:pip install pandas
  • 引用方法:import pandas as pd

4.也可以通过安装anaconda软件操作,里面包含(numpy,pandas以及Matplotlib多个库),本片文章是在anaconda3中运行!!!

二、pandas:Series(一维)

1.Series是一种类似于一位数组的对象,由一组数据和一组与之相关的数据标签(索引)组成。

2.创建方式:

3.从上面操作可以知道:

  • 获取值数组和索引数组:values属性和index属性。
  • Series比较像列表(数组)和字典的组合体。

三、pandas:Series特性  

1.Series支持NumPy模块的特性(下标):

  • 从ndarray创建Series:Series(arr)
  • 与标量运算:sr*2
  • 两个Series运算:sr1+sr2
  • 索引:sr[0], sr[[1,2,4]]
  • 切片:sr[0:2]
  • 通用函数:np.abs(sr)
  • 布尔值过滤:sr[sr>0]
  • 统计函数:mean()sum()cumsum()

   Numpy连接:https://www.cnblogs.com/dalyday/p/9295459.html

2.Series支持字典的特性(标签):

  • 从字典创建Series:Series(dic),
  • in运算:’a’ in sr、for i in sr
  • 键索引:sr['a'], sr[['a', 'b', 'd']]
  • 键切片:sr['a':'c']
  • 其他函数:get('a',default = 0)等

标签示例:

四、pandas:整数索引 

1.整数索引存在标签索引与下标索引,新手在这需注意下。

2.输入下面的列子会出什么结果:

  • sr2[3]
  • sr2[-1]

3.从上面可知索引是整数类型,则根据整数进行数据操作时总是面向标签的。

引入:

  • --loc属性 以标签解释
  • --iloc属性 以下标解释

五、pandas:Series数据对齐 

1.pandas在运算时,会按索引进行对齐然后计算。如果存在不同的索引,则结果的索引是两个操作数索引的并集。

例:

sr1 = pd.Series([12,23,34], index=['c','a','d'])

sr2 = pd.Series([11,20,10], index=['d','c','a',])

sr1+sr2

sr3 = pd.Series([11,20,10,14], index=['d','c','a','b'])

sr1+sr3

图例展示:

2.如何在两个Series对象相加时将缺失值设为0?

sr1.add(sr3, fill_value=0)

灵活的算术方法:add, sub, div, mul

六、pandas:Series缺失数据

1.缺失数据:使用NaN(Not a Number)来表示缺失数据。其值等于np.nan。内置的None值也会被当做NaN处理。

2.处理缺失数据的相关方法:

  • dropna() 过滤掉值为NaN的行
  • fillna() 填充缺失数据
  • isnull() 返回布尔数组,缺失值对应为True
  • notnull() 返回布尔数组,缺失值对应为False

3.过滤缺失数据:sr.dropna() 或 sr[data.notnull()]

4.填充缺失数据:fillna(0)

七、pandas:DataFrame

1.概要描述:DataFrame是一个表格型的数据结构,含有一组有序的列;可以被看做是由Series组成的字典,并且共用一个索引。

2.创建方式:

pd.DataFrame({'one':[1,2,3,4],'two':[4,3,2,1]})

pd.DataFrame({'one':pd.Series([1,2,3],index=['a','b','c']),'two':pd.Series([1,2,3,4],index=['b','a','c','d'])})

3.csv文件读取与写入:

  • pd.read_csv('filename.csv')
  • pd.to_csv()

八、pandas:DataFrame查看数据

查看数据常用属性及方法:
index 获取索引
T 转置
columns 获取列索引
values 获取值数组
describe() 获取快速统

九、pandas:DataFrame索引和切片

1、DataFrame有行索引和列索引。
2、DataFrame同样可以通过标签和位置两种方法进行索引和切片。
3、DataFrame使用索引切片:

  • 方法1.两个中括号,先取列再取行。 df['A'][0]
  • 方法2(推荐):使用loc/iloc属性,一个中括号,逗号隔开,先取行再取列。

    loc属性:解释为标签
    iloc属性:解释为下标

  • 向DataFrame对象中写入值时只使用方法2
  • 行/列索引部分可以是常规索引、切片、布尔值索引、花式索引任意搭配。(注意:两部分都是花式索引时结果可能与预料的不同)
通过标签获取:
df['A']
df[['A', 'B']]
df['A'][0]
df.loc[:,['A','B']]
df.loc[:,'A':'C']
df.loc[0,'A']
df.loc[0:10,['A','C']]
通过位置获取:
df.iloc[3]
df.iloc[3,3]
df.iloc[0:3,4:6]
df.iloc[1:5,:]
通过布尔值过滤:
df[df['A']>0]
df[df['A'].isin([1,3,5])]
df[df<0] = 0

十、pandas:DataFrame数据对齐与缺失数据

1.DataFrame对象在运算时,同样会进行数据对其,结果的行索引与列索引分别为两个操作数的行索引与列索引的并集

2.DataFrame处理缺失数据的方法:

  • dropna(axis=0,where='any',…)
  • fillna()
  • isnull()
  • notnull()

 十一、pandas:其他常用方法

pandas常用方法(适用Series和DataFrame):
mean(axis=0,skipna=False) #求平均值
sum(axis=1) #求和
sort_index(axis, …, ascending) #按行或列索引排序
sort_values(by, axis, ascending) #按值排序
NumPy的通用函数同样适用于pandas
apply(func, axis=0) #将自定义函数应用在各行或者各列上 ,func可返回标量或者Series
applymap(func) #将函数应用在DataFrame各个元素上
map(func) #将函数应用在Series各个元素上

 十二、pandas:其他常用方法

时间类型:
时间戳:特定时刻
固定时期:如2017年7月
时间间隔:起始时间-结束时间
Python标准库:datetime
datetime.datetime.timedelta # 表示 时间间隔
dt.strftime() #f:format吧时间对象格式化成字符串
strptime() #把字符串解析成时间对象p:parse
灵活处理时间对象:dateutil包
dateutil.parser.parse('2018/1/29')
成组处理时间对象:pandas
pd.to_datetime(['2001-01-01', '2002-02-02']) 产生时间对象数组:date_range
start 开始时间
end 结束时间
periods 时间长度
freq 时间频率,默认为'D',可选H(our),W(eek),B(usiness),S(emi-)M(onth),(min)T(es), S(econd), A(year),…

十三、pandas:从文件读取

1.读取文件:从文件名、URL、文件对象中加载数据

read_csv 默认分隔符为csv
read_table 默认分隔符为\t
read_excel 读取Excel文件

2.读取文件函数主要参数:

sep 指定分隔符,可用正则表达式如'\s+'
header=None 指定文件无列名
name 指定列名 index_col 指定某列作为索引
skip_row 指定跳过某些行
na_values 指定某些字符串表示缺失值
parse_dates 指定某些列是否被解析为日期,布尔值或列表
nrows 指定读取几行文件 chunksize 分块读取文件,指定块大小

十四、pandas:写入到文件

1.写入到文件:

to_csv

2.写入文件函数的主要参数:

sep
na_rep 指定缺失值转换的字符串,默认为空字符串
header=False 不输出列名一行
index=False 不输出行索引一列
cols 指定输出的列,传入列表

3.其他文件类型:json, XML, HTML, 数据库

4.pandas转换为二进制文件格式(pickle):

save
load

  

数据分析--pandas的基本使用的更多相关文章

  1. 利用Python进行数据分析——pandas入门

    利用Python进行数据分析--pandas入门 基于NumPy建立的 from pandas importSeries,DataFrame,import pandas as pd 一.两种数据结构 ...

  2. Python数据分析--Pandas知识点(三)

    本文主要是总结学习pandas过程中用到的函数和方法, 在此记录, 防止遗忘. Python数据分析--Pandas知识点(一) Python数据分析--Pandas知识点(二) 下面将是在知识点一, ...

  3. Python数据分析--Pandas知识点(二)

    本文主要是总结学习pandas过程中用到的函数和方法, 在此记录, 防止遗忘. Python数据分析--Pandas知识点(一) 下面将是在知识点一的基础上继续总结. 13. 简单计算 新建一个数据表 ...

  4. 利用Python进行数据分析-Pandas(第一部分)

    利用Python进行数据分析-Pandas: 在Pandas库中最重要的两个数据类型,分别是Series和DataFrame.如下的内容主要围绕这两个方面展开叙述! 在进行数据分析时,我们知道有两个基 ...

  5. 数据分析——pandas

    简介 import pandas as pd # 在数据挖掘前一个数据分析.筛选.清理的多功能工具 ''' pandas 可以读入excel.csv等文件:可以创建Series序列,DataFrame ...

  6. python 数据分析--pandas

    接下来pandas介绍中将学习到如下8块内容:1.数据结构简介:DataFrame和Series2.数据索引index3.利用pandas查询数据4.利用pandas的DataFrames进行统计分析 ...

  7. Python数据分析Pandas库方法简介

    Pandas 入门 Pandas简介 背景:pandas是一个Python包,提供快速,灵活和富有表现力的数据结构,旨在使“关系”或“标记”数据的使用既简单又直观.它旨在成为在Python中进行实际, ...

  8. Python数据分析-Pandas(Series与DataFrame)

    Pandas介绍: pandas是一个强大的Python数据分析的工具包,是基于NumPy构建的. Pandas的主要功能: 1)具备对其功能的数据结构DataFrame.Series 2)集成时间序 ...

  9. Python数据分析 Pandas模块 基础数据结构与简介(一)

    pandas 入门 简介 pandas 组成 = 数据面板 + 数据分析工具 poandas 把数组分为3类 一维矩阵:Series 把ndarray强大在可以存储任意数据类型可以专门处理时间数据 二 ...

  10. python之数据分析pandas

    做数据分析的同学大部分入门都是从excel开始的,excel也是微软office系列评价最高的一种工具. 但当数据量超过百万行的时候,excel就无能无力了,python第三方包pandas极大的扩展 ...

随机推荐

  1. (五十)c#Winform自定义控件-滑块

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...

  2. 分布式配置中心Apollo——QuickStart

    分布式配置中心 剥离配置文件,实现动态修改,自动更新. [假设没有分布式配置中心,修改配置文件后都需要重启服务,对于数量庞多的微服务开发来说,就会非常繁琐] 分布式配置中心有哪些 disconf(依赖 ...

  3. SpringBoot项目中如何异步执行一个方法

    1. SpringBoot上加上开启异步方法注解:@EnableAsync 2. 在需要异步执行的方法上,加上异步方法注解 @Async 3. 测试 5. 测试结果为,访问127.0.0.1:8888 ...

  4. pytest-html报告修改与汉化

    前言 Pytest框架可以使用两种测试报告,其中一种就是使用pytest-html插件生成的测试报告,但是报告中有一些信息没有什么用途或者显示的不太好看,还有一些我们想要在报告中展示的信息却没有,最近 ...

  5. 五月月赛 寻宝 exkmp + 主席树

    : 寻宝 时间限制: Sec 内存限制: MB 提交: 解决: [提交] [状态] [讨论版] [命题人:admin] 题目描述 采蘑菇的小西佬找到了一张上古年间的藏宝图,上面画着m座连绵不断的山,他 ...

  6. Features Track 2018徐州icpc网络赛 思维

    Morgana is learning computer vision, and he likes cats, too. One day he wants to find the cat moveme ...

  7. Stealth——01场景的基本搭建以及基础逻辑

    版权申明: 本文原创首发于以下网站: 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123 优梦创客的官方博客:https://91make.top ...

  8. HDFS 读写流程-英

    HDFS 文件读取流程 The client opens the file it wishes to read by calling open() on the FileSystem object, ...

  9. 个推TechDay参会感悟

    上周六去参加了个推和FCC联合在梦想小镇举办的TechDay,当然是作为台下听讲选手参与的,想上去讲可惜实力他不允许啊,吹牛逼我在行,讲技术可就有点虚了,老老实实的坐在台下听大佬们的分享,当然由于买了 ...

  10. Tomcat性能调优参数简介

    近期,我们的一个项目进入了试运营的阶段,在系统部署至阿里云之后,我们发现整个系统跑起来还是比较慢的,而且,由于代码的各种不规范,以及一期进度十分赶的原因,缺少文档和完整的测试,整个的上线过程一波三折. ...