pandas学习笔记(四)
数值计算和统计基础
基本参数axis,skipna
axis=1按照行处理
skipna=False 不过滤掉空值
主要数学计算方法,可用于Series和DataFrame
df.count() 统计非NaN值的数量
df[‘key1’].count()
df.min()
df.quantile(q=0.75) 统计分位数,参数q确定位置,默认0.5
df.sum()
df.median()
df.std() ,df.var() 分别求标准差,方差
df.skew() 样本的偏度
df.kurt()样本的峰度
惟一值unique
import pandas as pd
s=pd.Series(list('dadadadad'))
sq=s.unique()
print(s)
print(sq) #得到惟一值的数组
print(Series(sq)) #变为Series
输出:
0 d
1 a
2 d
3 a
4 d
5 a
6 d
7 a
8 d
dtype: object
[‘d’ ‘a’]
值计数.value_counts()
import pandas as pd
s=pd.Series(list('dadadadad'))
sq=s.value_counts() #pd.value_counts(sq,sort=False)
print(sq)
输出:
d 5
a 4
dtype: int64
成员资格.isin()
得到一个布尔型的Series或者DataFrame
s=pd.Series(np.arange(10,15))
df=pd.DataFrame({'key1':list('rdafwfwfw'),'key2':np.arange(4,13)})
print(s)
print(df)
print(s.isin([5,14]))
print(df.isin(['a','bc','10',8]))
文本数据
通过str访问,且自动排除丢失/Na数据
s=pd.Series(['A','b','C','bbhello','123',np.nan,'hj'])
df=pd.DataFrame({'key1':list('abcdef'),'key2':['hee','fv','w','hija','123',np.nan]})
df['key1']=df['key1'].str.upper()
print(s.str.count('b'))
print(df)
df.columns=df.columns.str.upper()
print(df)
字符串常用方法
与python内置的str函数一直
strip()去除前面空格
rstrip()去除后面空格
去除中间空格可以使用replace(’ ‘,’ heik’,n=1),n=1表示只会替换第一个
split()
rsplit() 顺序与split相反
s.str.split(‘,’)[0]第零行
s.str.split(‘,’).str[0]
s.str.split(‘,’).str.get(1) 第一个元素
s.str.split(‘,’,expand=True,n=1)
字符串索引
s=pd.Series(['A','b','C','bbhello','123',np.nan,'hj'])
df=pd.DataFrame({'key1':list('abcdef'),'key2':['hee','fv','w','hija','123',np.nan]})print(s.str[0])
print(s.str[:2])
print(df['key2'].str[0])
merge
merge(left, right, how=’inner’, on=None, left_on=None, right_on=None,left_index=False, right_index=False, sort=True,suffixes=(‘_ x’, ‘_ y’), copy=True, indicator=False)
on:指的是用于连接的列索引名称。必须存在右右两个DataFrame对象中,如果没有指定且其他参数也未指定则以两个DataFrame的列名交集做为连接键。
left_on:左则DataFrame中用作连接键的列名;这个参数中左右列名不相同,但代表的含义相同时非常有用(左边表用哪个键作为参考)。
right_on:右则DataFrame中用作 连接键的列名。
left_index:使用左则DataFrame中的行索引做为连接键
right_index: 使用右则DataFrame中的行索引做为连接键
how:数据融合的方法(合并方式)。
inner:默认取交集
outer:取并集
left:按照left为主匹配,数据缺失范围NaN
right:右边为主
sort:默认为True,将合并的数据进行排序。在大多数情况下设置为False可以提高性能
left = pd.DataFrame({'key1': ['K0', 'K0', 'K1', 'K2'],'key2': ['K0', 'K1', 'K0', 'K1'],'A': ['A0', 'A1', 'A2', 'A3'],'B': ['B0', 'B1', 'B2', 'B3']})right = pd.DataFrame({'key1': ['K0', 'K1', 'K1', 'K2'],'key2': ['K0', 'K0', 'K0', 'K0'],'C': ['C0', 'C1', 'C2', 'C3'],'D': ['D0', 'D1', 'D2', 'D3']})result = pd.merge(left, right, on=['key1', 'key2'])
join(merge的简洁版)
join(self, other, on=None, how=’left’, lsuffix=”, rsuffix=”,sort=False)
其中参数的意义与merge方法基本相同,只是join方法默认为左外连接how=left
1.默认按索引合并,可以合并相同或相似的索引,不管他们有没有重叠列。
2.可以连接多个DataFrame
3.可以连接除索引外的其他列
4.连接方式用参数how控制
5.通过lsuffix=”, rsuffix=” 区分相同列名的列
pandas学习笔记(四)相关推荐
- pandas学习笔记四:运算方法和运算工具
1.数值计算和统计基础 import numpy as np import pandas as pd# 基本参数:axis.skipnadf = pd.DataFrame({'key1':[4,5,3 ...
- pandas学习笔记四之读取写入文件
- 吴恩达《机器学习》学习笔记四——单变量线性回归(梯度下降法)代码
吴恩达<机器学习>学习笔记四--单变量线性回归(梯度下降法)代码 一.问题介绍 二.解决过程及代码讲解 三.函数解释 1. pandas.read_csv()函数 2. DataFrame ...
- pandas学习笔记之DateFrame
pandas学习笔记之DateFrame 文章目录 pandas学习笔记之DateFrame 1.DateFrame的创建 1)认识DataFrame对象 2)由二维列表创建(默认index和colu ...
- 数据分析之pandas学习笔记(六)(层次化索引、重塑、轴向旋转、行列变换、合并表数据)
数据分析之Pandas学习笔记(六)(层次化索引.重塑.轴向旋转.行列变换.合并表数据) level层次化索引 unstack()与stack()进行重塑,即:行列索引变换 swaplevel()交换 ...
- [Pandas 学习笔记] - No.1 pandas学习笔记
pandas学习笔记 pandas是基于numpy开发出的数据分析包,用于高效地操作大型数据集.pandas的数据结构有三种 分别为 series,dataframe和panel,对应一维,二维,三维 ...
- C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻
前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...
- IOS学习笔记(四)之UITextField和UITextView控件学习
IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...
- RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决)
RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决) 参考文章: (1)RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决) (2)https://www.cnblogs. ...
- JSP学习笔记(四十九):抛弃POI,使用iText生成Word文档
POI操作excel的确很优秀,操作word的功能却不敢令人恭维.我们可以利用iText生成rtf文档,扩展名使用doc即可. 使用iText生成rtf,除了iText的包外,还需要额外的一个支持rt ...
最新文章
- 从事JAVA 20年最终却败给了Python,哭了!
- AI一分钟 | AI单挑医学专家;中国AI企业破4000家
- SQL注入—我是如何一步步攻破一家互联网公司的
- Lucene教程--维护索引、查询对象和相关度排序
- msyql开启慢查询以及分析慢查询
- android视频压缩框架,GitHub - tangpeng/VideoCompressor: Android 使用自带的MediaCodec 框架进行本地视频压缩,速度嗖嗖的,亲测有效!!!...
- nginx日志切割脚本
- 2020 年开源项目
- oracle从9.2.0.1升级到9.2.0.8步骤
- 隐秘攻击:恶意病毒可使智能手机加速老化
- 再暴BBSxp 7.0 Beta 2漏洞
- 使用jave(ffmpeg)将.amr音频转码成mp3
- android 闹钟取消,android设置和取消闹钟
- 生活随记 - 感恩老同学
- SaaS(软件即服务)的魅力
- 别让CDN的回源把你的服务器拖垮,采用正确的回源策略
- 中国余数定理c语言pta,密码学基础——辗转相除法,费马小定理,欧拉定理,裴蜀定理,中国剩余定理...
- B端产品的PMF的定义原则
- [原创方法!] 如何实现全自动登录各大网站? Cookie格式 、油猴脚本基础 解决Github邮箱验证,持久登录,免验证码
- python 踩坑之解决django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.Did you insta
热门文章
- 企业员工培训管理系统(JAVA,JSP,SQLSERVER,SSH)
- 系统分析师之信息化技术(十一)
- VS2013+WDK8.1 驱动开发环境配置
- 震惊!!C++居然可以发出声音!
- word文档docx解密助手,word文档docx权限密码如何解开?
- 2022年证券从业资格投资顾问考试每日一练及答案
- 2022年4月24号MyBatis总结.
- 微信变身大史记:从IM到电商 腾讯帝国新时代http://danke74520.qzone.qq.com
- iOS流布局UICollectionView系列七——三维中的球型布局
- php微信公众号开发之快递查询