python高级应用与数据分析学习笔记 13

1、pandas的基本功能

1)数据文件读取 文本数据读取

2)索引、选取和数据过滤

3)算术运算和数据对齐

4)函数的应用和映射

5)重置索引

2、数据文件读取 文本数据读取

2.1 直接读取文本数据

data01.csv文件

name,age,source
张伊曼,27,90
张巧玲,27,90
张诗诗,27,90
张思思,27,90

data02.txt文件

张伊曼:27:90
张巧玲:27:90
张诗诗:27:90
张思思:27:90
import numpy as np
import pandas as pddf = pd.read_csv('data01.csv')                       #默认sep=','
print("data01.csv文件的原始数据==========================")
print(df)df = pd.read_csv('data01.csv',header=None)           #去除表头
print("data01.csv文件的去表头数据==========================")
print(df)df = pd.read_csv('data02.txt',sep=':',header=None)   #根据文本数据更换sep
print("data02.txt.txt文件的原始数据==========================")
print(df)

2.2 代码生成数据文件然后在读取

#1.2 代码生成数据文件然后再读取
df0 = pd.DataFrame(np.arange(18).reshape((6, 3)))
df0.columns = ['张伊曼', '张巧玲', '张诗诗']
print("df0=============================")
print(df0)
df0.to_csv('df0.csv', index=False)print("df1=============================")
df1 = pd.read_csv('df0.csv')
print(df1)

注意:当设置index的值,就会变成如图的样子:

#1.2 代码生成数据文件然后再读取
df0 = pd.DataFrame(np.arange(18).reshape((6, 3)))
df0.columns = ['张伊曼', '张巧玲', '张诗诗']
df0.index = ['a1', 'a2', 'a3','a4', 'a5', 'a6']
print("df0=============================")
print(df0)
df0.to_csv('df0.csv')print("df1=============================")
df1 = pd.read_csv('df0.csv')
print(df1)


3、数据过滤获取

3.1 大概知识点介绍

1}、pandas中缺省值NaN的4种处理方法:1 isnull 2 notnull 3 dropna 4 fillna

2}、df.dropna() 默认丢弃只要包含nan数据的行 axis=1则是丢弃列 how=’any’默认 如果设置how=’all’则表示全部为nan才丢弃

3}、df.fillna() 默认填充数据,用法与df.dropna()参不多

3.2 dropna()的用法

# 2、数据过滤
#2.1 dropna()的用法
dict0 = {'语文': [90, 80, 60],'数学': [99, 70, 89],'外语': [98, 10, 75],'物理': 90
}
df0 = pd.DataFrame(dict0)
df0['数学'][1] = np.nanprint("df0原数据===============================")
print(df0)print("df0.dropna()===============================")
print(df0.dropna())       #默认删除有缺省值所在的行print("df0.dropna(axis=1)===============================")
print(df0.dropna(axis=1)) #默认删除有缺省值所在的列print("df0.dropna(how='all',axis=1)===============================")
df0.ix[1] = np.nan
print(df0.dropna(how='all')) #当所有元素是缺省值的时候 才删除print("df0.dropna(how='any',axis=1)===============================")
df0['外语'][0] = np.nan
print(df0.dropna(how='any')) #当所有元素有一个是缺省值的时候 才删除

3.3 fillna() 的用法

# #2.2 fillna()的用法
df0 = pd.DataFrame(np.random.random((7, 3)))
df3 = df0
print('df0的原始数据=================================')
print(df0)df0.ix[:4, 1] = np.nan
print('df0.ix[:4, 1] = np.nan 数据=================================')
print(df0)print('df0.ix[:2, 2] = np.nan 数据=================================')
df0.ix[:2, 2] = np.nan
print(df0)print('将所有的缺省的数据填充为1=================================')
print(df0.fillna(1))print('将所有的缺省数据分别填充为1和2=================================')
print(df3.fillna({1: 1, 2: 2}))


3、Series与DataFrame数据去重的方法

unique方法用于获取Series或DataFrame某列中的唯一值数组(去重数据后的数组)
value_counts方法用于计算一个Series或DataFrame某列中各值的出现频率
isin方法用于判断矢量化集合的成员资格,是否在里面,可用于选取Series中或DataFrame列中数据的子集

3.1 Series
# 数据去重
s1 = pd.Series(['a', 'b', 'c', 'b', 'a'])
print("s1的原始数据==============================")
print(s1)print("数据去重方法:s1.unique()==============================")
print(s1.unique())   #注意:s1.unique()返回的类型也是Seriesprint("单个值出现的个数:s1.value_counts()['a']==============================")
print(s1.value_counts()['a'])print("值是否存在的方法:s1.isin(['a', 'b'])==============================")
print(s1.isin(['a', 'b']))

3.2 DataFrame

···
df0 = pd.DataFrame(np.random.randint(10, 16, (3, 3)), columns=[‘张伊曼’, ‘张巧玲’, ‘张诗诗’])
print(“df0==============================”)
print(df0)

print(“df0.ix[0].unique()==============================”)
print(df0.ix[0].unique())

print(“df0[‘张伊曼’].unique()==============================”)
print(df0[‘张伊曼’].unique())

print(“df0[‘张伊曼’].value_counts()==============================”)
print(df0[‘张伊曼’].value_counts())

print(“df0.ix[0].value_counts()==============================”)
print(df0.ix[0].value_counts())

print(“df0[‘张伊曼’].isin([11])==============================”)
print(df0[‘张伊曼’].isin([11]))
···

4、pandas常用的数学统计方法

count 计算非NA值的数量
describe 针对Series或DataFrame列计算统计
min/max/sum 计算最小值 最大值 总和
argmin argmax 计算能够获取到最小值和最大值的索引位置(整数)
idxmin idxmax 计算能够获取到最小值和最大值的索引值
quantile 计算样本的分位数(0到1)
mean 值的平均数
median 值的中位数
mad 根据平均值计算平均绝对距离差
var 样本数值的方差
std 样本值的标准差
cumsum 样本值的累计和
cummin cummax 样本的累计最小值 最大值
cumprod 样本值的累计积
pct_change 计算百分数变化
相关系数.corr() 以及 协方差cov()

基本示例:

df0 = pd.DataFrame(np.random.randint(1,10,(4, 3)))
print("df0===============================")
print(df0)print("df0.describe()===============================")
print(df0.describe())print("df0.median()===============================")
print(df0.median())print("df0.var()===============================")
print(df0.var())print("df0.std()===============================")
print(df0.std())print("df0.corr()===============================")
print(df0.corr())print("df0.cov()===============================")
print(df0.cov())

pandas的基本功能与常用的数学统计方法相关推荐

  1. pandas 常用的数学统计方法 mad()

    pandas 常用的数学统计方法 mad() 1.定义:根据平均值计算平均绝对距离差. 2.示例: import pandas as pdstudent_info = pd.read_csv(&quo ...

  2. Python科学计算库 — Pandas数学统计方法

    首先导入pandas库 import numpy as np import pandas as pd Pandas 常用的数学统计方法如下表: 方法 说明 count 计算非NA值的数量 descri ...

  3. python缺失值与异常值处理_pandas学习(常用数学统计方法总结、读取或保存数据、缺省值和异常值处理)...

    pandas学习(常用数学统计方法总结.读取或保存数据.缺省值和异常值处理) 目录 常用数学统计方法总结 读取或保存数据 缺省值和异常值处理 常用数学统计方法总结 count 计算非NA值的数量 de ...

  4. matlab建模总结,MATLAB 数学建模方法与实践(第 3 版)

    本书从数学建模的角度介绍了 MATLAB 的应用,涵盖了绝大部分数学建模问题的 MATLAB 求解方法.全书共 5 篇.第一篇是基础篇,介绍基本概念,包括 MATLAB 在数学建模中的地位.数学模型的 ...

  5. 数学建模可以用python吗_Python中常用的数学建模Scipy

    Python中常用的数学建模Scipy 发布时间:2020-09-10 16:56:48 来源:亿速云 阅读:116 本篇文章为大家展示了Python中常用的数学建模Scipy,代码简明扼要并且容易理 ...

  6. 学习pandas全套代码【超详细】数据查看、输入输出、选取、集成、清洗、转换、重塑、数学和统计方法、排序

    大家早上好,本人姓吴,如果觉得文章写得还行的话也可以叫我吴老师.欢迎大家跟我一起走进数据分析的世界,一起学习! 感兴趣的朋友可以关注我的数据分析专栏,里面有许多优质的文章跟大家分享哦. 本篇博客将会给 ...

  7. matlab快速入门案例及常用技巧 | 《matlab数学建模方法与实践(第三版)》学习笔记

    目录 快速入门案例: 解决流程: 具体实现: 一.获取数据 二.数据探索和建模 三.分享结果 常用技巧 一.常用标点功能 二.常用操作指令 三.指令编辑操作键 四.matlab数据类型 五.开发模式 ...

  8. [python]14、五万字详细讲解pandas的所有功能和用法以及安装jupyter

    目录 1.安装jupyter 1.1.启用jupyter 2. pandas介绍 2.1.pip3和pip的区别 2.2.pip或者pip3换源 2.2.1.临时修改 2.2.2.永久修改 2.2.3 ...

  9. Python数值计算工具 ——Numpy(调用常用的数学和统计函数)

    0.前言 python基础语法中有讲解有关存储数据的列表对象,但是其无法直接参与数值运算(虽然可以使用加法和乘法,但分别代表列表元素的增加和重复). 本文将介绍另一种非常有用的数据结构,那就是数组,通 ...

最新文章

  1. 哪些人适合参加软件测试培训?
  2. 命令行使用.so文件内的函数_如何使用SFC命令行工具修复Windows 10系统文件
  3. sockaddr与sockaddr_in的区别
  4. stm32 USB增加端点总结
  5. web上传大文件的配置
  6. shiro学习(8):shiro连接数据库 三
  7. 微型计算机三级项目,微机原理三级项目.doc
  8. 最早会外语的人,是怎么回事
  9. 苹果ppt_如何下载小程序上的PPT与PDF? (苹果系统、安卓系统)
  10. Redis设置登录密码
  11. oracle Error: PLS-00905: 对象 HBH.QRY_QUERYDATA 无效
  12. VARIANT 数据类型简单介绍
  13. 预测分析·民宿价格预测【和鲸社区】
  14. P4707 重返现世 扩展 MinMax 容斥+DP
  15. 基于MATLAB编写的GNSS_SDR(GNSS软件接收机)——自学笔记(3)
  16. 边分治学习笔记(bzoj2870)
  17. 系统架构师(java)和大数据架构师
  18. Java实现音频格式转换 WAV---mp3,可使音频压缩
  19. 《疑案里的中国史》——很多奇怪的历史故事其实都有合理的逻辑支撑
  20. Zotero Better BibTex选项配置记录

热门文章

  1. 考拉解析网站Android 安卓手机下载视频到手机相册
  2. 【自建分布式数据库详细指南】(四)设计:CITUS分布式数据仓库OLAP/OLTP的架构选择及PG数据库优化方法策略
  3. 关于互相帮忙投票的微信群、微信刷投票群、微信投票刷票群的详情介绍
  4. 2419. Grass Planting
  5. 互操作性2.0:奠定公链万亿美元生态的基础设施
  6. python练习题 21-30
  7. 25辆无人车进校园 15分钟外卖到宿舍 它们什么来头?
  8. 顺丰速运——深圳大数据部一面(18分钟)
  9. hadoop暂时永久关闭安全模式
  10. JS实现最美的3D宇宙效果