pandas的基本功能(一)
第16天pandas的基本功能(一)
灵活的二进制操作
体现在2个方面
支持一维和二维之间的广播
支持缺失值数据处理
四则运算支持广播
+add - sub *mul /div
divmod()分区和模运算(返回商和余数2个结果)
案例:a,b=divmod(一维矩阵)
空值处理
矩阵中空值用NaN代替
NaN+值=NaN
np(numpy).nan表示空值
填充空值: fillna(value=值)
np.nan == np.nan 结果为False
如果a矩阵和b矩阵中有空值 那么 a == b 结果:False
相同:a.equal(b )结果为:True.带空的矩阵比较推荐使用equal
组合
从df2中把df1的数据不全
df1.combine_first(df2)
连接
连接二维矩阵
df1.concat(df2,axis=0/1)
连接一维矩阵
pd.concat([df1,df2])
一维二维通用
df1.append(df2)
统计
所有统计函数都支持行或列~~~
sum(0/1) mean(0/1)
统计函数
功能 描述 count非NA观测数量 sum价值总和 mean价值的平均值 mad平均绝对偏差 median算术值的中值 min最低限度 max最大值 mode模式 abs绝对值 prod价值的产物 std贝塞尔校正的样本标准偏差 var无偏差 sem平均值的标准误差 skew样本偏斜(第3时刻) kurt样本峰度(第4个时刻) quantile样本分位数(值为%) cumsum累计金额 cumprod累积产品 cummax累积最大值 cummin累积最小值
统计函数,统计的时候自动跳过空值
len(数组)获取行数,包括Nan所在的行~~~count(不包括)
include
#可以指定摘要统计的东西
矩阵.describe(include=['object'])
矩阵.describe(include=['number'])
最大最小索引
最大数和最小数对应的索引位置
最大 矩阵.idxmax(axis=0/1)
最小 矩阵 .idxmin(axis=0/1)
最常出现值模式
a.value_counts() 统计一维数组中每个元素出现的次数
a.mode()统计数组中出现次数最多的值
分段/面元
cut和qcut
共同点
都可以分为好多份 pd.cut/qcut(df,4) qcut 是对等的 cut 是随机的
不同点
pd.cut(df,[数组]) qcut不支持
语法 pd.cut(df,[切点列表],right=True/False)
示列
#分2组 大于18的为成年,小于18的为未成年,统计个数
a = pd.Series([4,5,5,2,3,1,8,9,3,15,6,45,56,1,56,2,20,4,5,2,1,8,18,1,82,20,25,20,20,12,13,14])
b = pd.cut(a,[0,18,100],labels=['未成年','成年'],right=False)
b.value_counts()
为矩阵添加处理函数/支持多个函数
链式写法
(df.pipe(函数名,参数).pipe(函数名,参数).......)
apply
df.apply(函数名,axis=0/1) 为当前行或列添加处理函数
示列
#12.判断年龄是否成年: 18岁以上成年 #成年和未成年获救比例
"""
1.判断是否成年
2.
"""
def age_old(b):
c = b['Age']
if c > 18:
return '成年'
elif c < 18:
return '未成年'
else:
return '空值'
#创建新列
df['chegnnian'] = df.apply(age_old,axis=1)
#设置全家的汉子显示
plt.rcParams['font.size'] = 15
h_j = df.groupby(by=['Survived','chegnnian']).size()
plt.pie(h_j,labels=['成年未获救','未成年未获救','空值未获救','成年获救','未成年获救','空值获救'],shadow=True,autopct='%1.1f%%')
plt.axis('equal') #设置圆的形状 正圆
plt.show()
map
df.applymap == df.map()
示列
#10. 以下肉类数据源,food都转换为小写,添加一个动物列,而且字符串都是小写
data = pd.DataFrame({'food': ['bacon', 'pulled pork', 'bacon','Pastrami', 'corned beef', 'Bacon','pastrami', 'honey ham', 'nova lox'],
'price': [4, 3, 12, 6, 7.5, 8, 3, 5, 6]})
data['food'].str.lower()
#新列: 动物列
animal = { 'bacon': 'Pig', 'pulled pork': 'pIg', 'pastrami': 'cOw', 'corned beef': 'Co', 'honey Ham': 'pig', 'nova lox': 'Salmon' }
x = data['food'].map(animal)
data['animal'] = x
data
pandas的基本功能(一)的更多相关文章
- pandas的筛选功能,跟excel的筛选功能类似,但是功能更强大。
Select rows from a DataFrame based on values in a column -pandas 筛选 https://stackoverflow.com/questi ...
- (数据科学学习手札134)pyjanitor:为pandas补充更多功能
本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 pandas发展了如此多年,所包含的功能已 ...
- python数据分析之Pandas:基本功能介绍
Pandas有两个主要的数据结构:Series和DataFrame. Series是一种类似于一维数组的对象,它由一组数据以及一组与之相关的数据标签构成.来看下它的使用过程 In [1]: from ...
- Pandas常用基本功能
Series 和 DataFrame还未构建完成的朋友可以参考我的上一篇博文:https://www.cnblogs.com/zry-yt/p/11794941.html 当我们构建好了 Series ...
- Pandas | 21 日期功能
日期功能扩展了时间序列,在财务数据分析中起主要作用.在处理日期数据的同时,我们经常会遇到以下情况 - 生成日期序列 将日期序列转换为不同的频率 创建一个日期范围 通过指定周期和频率,使用date.ra ...
- Pandas | 05 基本功能
到目前为止,我们了解了三种Pandas数据结构以及如何创建它们.接下来将主要关注数据帧(DataFrame)对象,因为它在实时数据处理中非常重要,并且还讨论其他数据结构. 一.系列基本功能 编号 属性 ...
- pandas replace 替换功能function
list like replace method dict like replace method regex expression import pandas as pd import numpy ...
- 3.1,pandas【基本功能】
一:改变索引 reindex方法对于Series直接索引,对于DataFrame既可以改变行索引,也可以改变列索引,还可以两个一起改变. 1)对于Series In [2]: seri = pd.Se ...
- pandas的基本功能
一.重新索引 (1)reindex方式 obj = pd.Series(['blue', 'purple', 'yellow'], index=[0, 2, 4]) print(obj) obj.re ...
随机推荐
- 【搜索2】P1706 全排列问题
题目描述 输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入输出格式 输入格式: n(1≤n≤9) 输出格式: 由1-n组成的所有不重复的数字序列, ...
- bulid tools
输入:工程文件+编译说明文件: 处理:自动化构建工具+编译器: 输出:可执行文件. 相对于手动编译. 概述历史上 , 并通过构建自动化Makefile.今天 , 有两种一般类型的工具 : 自动工具 ( ...
- day 25 二十五、抽象类、多态、鸭子、反射、异常处理
一.接口思想 1.接口:建立关联的桥梁,方便管理代码 python中没有接口语法 def jiao(): pass def chi(): pass def pao(): pass # 清晰知道操作的功 ...
- Python 学习笔记9 循环语句 For in
For in 循环主要适用于遍历一个对象中的所有元素.我们可以使用它遍历列表,元组和字典等等. 其主要的流程如下:(图片来源于: https://www.yiibai.com/python/pytho ...
- [Day22]IO(File、递归)
1.File 1.1 IO概述 (1)当需要把内存中的数据存储到持久化设备上的这个动作称为输出(写)Output操作 (2)当把持久设备上的数据读取到内存中的这个动作称为输入(读)Input操作 1. ...
- [dev] Go语言查看doc与生成API doc
类似与javadoc,go也可以自动生成doc文档. 方法有两个: 1. 使用go doc工具 可以查看它的详细文档: go help doc 示例: 在这个目录下,我创建一个api包 ╰─>$ ...
- 快速搭建一个直播Demo
缘由 最近帮朋友看一个直播网站的源码,发现这份直播源码借助 阿里云 .腾讯云这些大公司提供的SDK 可以非常方便的搭建一个直播网站.下面我们来给大家讲解下如何借助 腾讯云 我们搭建一个简易的 直播示例 ...
- Python的基本语法1
一.python的基本数据类型 (1)6种基本数据类型 1.数字类型 int 整数,2,0,-4等 float 浮点数,如1.2,-0.3等 bool 布尔类型,True,False complex ...
- 理解JS原型和原型链
本文通过对<JavaScript高级程序设计>第六章的理解,加上自己的理解,重组了部分内容,形成下面的文字. 理解了原型这个概念,你的JS世界会清明很多. 为什么要为JS创造原型这个概念 ...
- Luogu4197 Peaks
题目链接:洛谷 看到“只经过困难值小于等于$x$的路径”. 感觉有点眼熟. ow,就是[NOI2018]归程. 和那道题一样,可以直接建出Kruskal重构树,每次倍增寻找祖先中最上面的不大于$x$的 ...