pandas数据结构之基础运算笔记
import pandas as pd
import numpy as np s = pd.Series([1,3,5,6,8],index=list('acefh'))
s.index # 读取行索引
# 输出 Index(['a', 'c', 'e', 'f', 'h'], dtype='object') s.reindex(list('abcdefgh')) # 索引再定义,与元索引相同,值不变,其它变为NaN
s.reindex(list('abcdefgh'),fill_value=0) # 将其它的索引设置默认值0
s.reindex(list('abcdefgh'), method='ffill')
# 其它元Series没有的索引的值对应上一行已有的索引对应值 df = pd.DataFrame(np.random.randn(4,6),index=list('ADFH'),columns=['one','two','three','four','five','six'])
df2 = df.reindex(index=list('ABCDEFGH'))
# DataFrame中再定义行索引,新的索引将默认赋值NaN df.reindex(index=list('ABCDEFGH'),fill_value=0) # DataFrame中为新的索引赋值0
df.loc['A']['one'] = 100 # 将‘A'行’one‘列赋值100 df.reindex(columns=['one','three','five','seven'],fill_value=0) df.reindex(index=list('ABCDEFGH'),method='ffill') # method只对列有效果
# method='ffill',找到上面一行的对应列的值 赋值给新添加的行
# 但是df没有改变 但是df没有改变 但是df没有改变 但是df没有改变 但是df没有改变 df.drop('A') # 默认按行
df.drop(['two','four'],axis=1) #按列
# 但是df没有改变 但是df没有改变 但是df没有改变 但是df没有改变 但是df没有改变 df = pd.DataFrame(np.arange(12).reshape(4,3),index=['one','two','three','four'],columns=list('ABC')) df.apply(lambda x: x.max()-x.min()) # 按列
df.apply(lambda x: x.max()-x.min(), axis=1) # 按行 def min_max(x):
return pd.Series([x.min(),x.max()],index=['min','max']) # 按行
df.apply(min_max, axis=1) df = pd.DataFrame(np.random.randn(4,3),index=['one','two','three','four'],columns=list('ABC')) # formater = lambda x: '%.03f' % x
formater = '{0:0.3f}'.format # 两个结果相同,取3位有效数字 df = pd.DataFrame(np.random.randint(1,10,(4,3)),index=list('ABCD'),columns=['one','two','three']) df.sort_values(by='two',ascending=False) 通过by找到主要排序列对象 ascending=False按从大到小排列 s = pd.Series([3,6,2,6,4]) s.rank(method='average')
# 默认,rank表示列中的值对应的大小排位号(小的数排位靠前)
# df未改变 df未改变 df未改变 df未改变 df未改变 df未改变 df.rank(method='first') # 按列取排位号(小的数排位靠前)
s = pd.Series(list('abbcdabacad'))
s.value_counts() # 列中相应的值出现的次数
s.unique() # 找出列中所有不重复的值
s.isin(['a','c','d']) # 判断列中的值在['a','c','d']是否有相同的值
s.isin(s.unique()) # 判断列中的值在array(['a', 'b', 'c', 'd'])是否有相同的值
pandas数据结构之基础运算笔记的更多相关文章
- 读书笔记一、pandas数据结构介绍
pandas数据结构介绍 主要两种数据结构:Series和DataFrame. Series Series是一种类似于一维数组的对象,由一组数据(各种NumPy数据类型)+数据标签(即索引)组 ...
- python之pandas学习笔记-pandas数据结构
pandas数据结构 pandas处理3种数据结构,它们建立在numpy数组之上,所以运行速度很快: 1.系列(Series) 2.数据帧(DataFrame) 3.面板(Panel) 关系: 数据结 ...
- Oracle基础学习笔记
Oracle基础学习笔记 最近找到一份实习工作,有点头疼的是,有阶段性考核,这...,实际想想看,大学期间只学过数据库原理,并没有针对某一数据库管理系统而系统的学习,这正好是一个机会,于是乎用了三天时 ...
- 尚学堂JAVA基础学习笔记
目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...
- pandas教程1:pandas数据结构入门
pandas是一个用于进行python科学计算的常用库,包含高级的数据结构和精巧的工具,使得在Python中处理数据非常快速和简单.pandas建造在NumPy之上,它使得以NumPy为中心的应用很容 ...
- <数据结构与算法分析>读书笔记--运行时间计算
有几种方法估计一个程序的运行时间.前面的表是凭经验得到的(可以参考:<数据结构与算法分析>读书笔记--要分析的问题) 如果认为两个程序花费大致相同的时间,要确定哪个程序更快的最好方法很可能 ...
- <数据结构与算法分析>读书笔记--函数对象
关于函数对象,百度百科对它是这样定义的: 重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象.又称仿函数. 听起来确实很难懂,通过搜索我找到一篇 ...
- 黑马程序猿————Java基础日常笔记---反射与正則表達式
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 黑马程序猿----Java基础日常笔记---反射与正則表達式 1.1反射 反射的理解和作用: 首 ...
- 嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av13570243/?from=search&seid=15873837810484552531 中的15-23讲
#coding=gbk#嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av13570243/?from=search&seid=1587383 ...
随机推荐
- Java核心复习—— ThreadLocal源码分析
ThreadLocal,叫做线程本地存储,也可以叫做线程本地变量.ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量. 一.如何使用 class Acce ...
- IdentityServer4入门四:应用Implicit模式保护网站(下)
为认证服务端增加数据库支持 我计划使用一个名为Admin的表,放在一个已有的数据库里.所以我需要定义Admin类和在配置里预先加上数据库连接 新增类:Admin.cs public class Adm ...
- 亚马逊AWS服务器CentOS/Linux系统Shell安装Nginx及配置自启动
领了一个亚马逊的1年免费服务器,今天尝试安装 Nginx 服务器,使用原生的 Shell 方法. 为了方便以后查看,就把过程记录一下. 注意:亚马逊(AWS)服务器默认只能用 user-ec2 账户进 ...
- 超详细Qt5.9.5移植攻略
本文就来介绍下如何将Qt5.9.5移植到ARM开发板上. 以imx6开发板为例,使用Ubuntu14.04虚拟机作为移植环境. 准备工作 1.主机环境:Ubuntu14.04: 开发板:启扬IAC-I ...
- SpringBoot之返回json数据
一.创建一个springBoot个项目 二.编写实体类 /** * 返回Json数据实体类 */ public class User { private int id; private String ...
- jenkins参数化构建&HTML报告
背景: 每次构建项目时都需要去修改一下配置,然后保存,再去立即构建.这样修改容易修改出错误,影响到执行脚本,且每次都要去修改配置,不容易修改,操作也比较麻烦.所以决定将Jenkins修改为参数化构建. ...
- Rabbitmq Plugin configuration unchanged. 问题完全解决方案
当执行:rabbitmq-plugins.bat enable rabbitmq_management 命令时候出现 错误如下: Plugin configuration unchanged. App ...
- VM12_pro+Ubuntu16_64+Qt5.12.2环境搭建
1.准备软件[已经存网盘] 2.安装Vm 3.安装Ubuntu 4.进入linux,修改Qt安装包权限 5.运行Qt 6.第五步会弹出Qt安装的界面,默认安装就行了 7.修改环境变量 sudo ged ...
- 【408】C函数中的ADT
类似类的形式 boardADT.h:所有的宏.声明等部分写在这里 boardADT.c:只需要 #inclue "boardADT.h",不需要 include 其他系统头文件,然 ...
- topK问题
概述 在N个乱序数字中查找第K大的数字,时间复杂度可以减小至O(N). 可能存在的限制条件: 要求时间和空间消耗最小.海量数据.待排序的数据可能是浮点型等. 方法 方法一 对所有元素进行排序,之后取出 ...