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数据结构之基础运算笔记的更多相关文章

  1. 读书笔记一、pandas数据结构介绍

    pandas数据结构介绍 主要两种数据结构:Series和DataFrame.   Series   Series是一种类似于一维数组的对象,由一组数据(各种NumPy数据类型)+数据标签(即索引)组 ...

  2. python之pandas学习笔记-pandas数据结构

    pandas数据结构 pandas处理3种数据结构,它们建立在numpy数组之上,所以运行速度很快: 1.系列(Series) 2.数据帧(DataFrame) 3.面板(Panel) 关系: 数据结 ...

  3. Oracle基础学习笔记

    Oracle基础学习笔记 最近找到一份实习工作,有点头疼的是,有阶段性考核,这...,实际想想看,大学期间只学过数据库原理,并没有针对某一数据库管理系统而系统的学习,这正好是一个机会,于是乎用了三天时 ...

  4. 尚学堂JAVA基础学习笔记

    目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...

  5. pandas教程1:pandas数据结构入门

    pandas是一个用于进行python科学计算的常用库,包含高级的数据结构和精巧的工具,使得在Python中处理数据非常快速和简单.pandas建造在NumPy之上,它使得以NumPy为中心的应用很容 ...

  6. <数据结构与算法分析>读书笔记--运行时间计算

    有几种方法估计一个程序的运行时间.前面的表是凭经验得到的(可以参考:<数据结构与算法分析>读书笔记--要分析的问题) 如果认为两个程序花费大致相同的时间,要确定哪个程序更快的最好方法很可能 ...

  7. <数据结构与算法分析>读书笔记--函数对象

    关于函数对象,百度百科对它是这样定义的: 重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象.又称仿函数. 听起来确实很难懂,通过搜索我找到一篇 ...

  8. 黑马程序猿————Java基础日常笔记---反射与正則表達式

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 黑马程序猿----Java基础日常笔记---反射与正則表達式 1.1反射 反射的理解和作用: 首 ...

  9. 嵩天老师的零基础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 ...

随机推荐

  1. BZOJ4237稻草人——单调栈+CDQ分治

    题目描述 JOI村有一片荒地,上面竖着N个稻草人,村民们每年多次在稻草人们的周围举行祭典. 有一次,JOI村的村长听到了稻草人们的启示,计划在荒地中开垦一片田地.和启示中的一样,田地需要满足以下条件: ...

  2. iOS开发~防止navigation多次push一个页面

    在点击push下一个页面时,因为各种原因,点一下cell或按钮没有响应,用户可能就多点几下,这时候会打开好几个一样的页面. 这是因为push后的页面有耗时操作或者刚好push到另一个页面时,另一个页面 ...

  3. Oracle数据库的坑

    Oracle数据库爬过的坑 ORA-00918 未定义明确列 ORA-01861: 文字与格式字符串不匹配 DPI-1005 : unable to acquire Oracle environmen ...

  4. 简略描述:一个 url 从输入按下回车键,到页面展示出来,都经历了什么?

    首先,在输入网址按下回车以后,这个时候DNS服务器会通过当前的网址去解析网址的 ip: 在查找到真的 IP 以后,这个时候浏览器会向 web 服务器发起一个 tcp 连接请求(三次握手): 第一次:建 ...

  5. 简易的CRM系统案例之Struts2+JSP+MySQL版本

    对简易的CRM系统案例之Servlet+Jsp+MySQL版本改进 Servlet优化为Struts2 学习 <?xml version="1.0" encoding=&qu ...

  6. 贝济埃曲线quadTo与传统的手势轨迹平滑度对比分析

    package com.loaderman.customviewdemo; import android.content.Context; import android.graphics.Canvas ...

  7. PropertyValuesHolder学习

    package com.loaderman.customviewdemo; import android.animation.ObjectAnimator; import android.animat ...

  8. 012-多线程-JUC集合-Queue-SynchronousQueue和LinkedTransferQueue

    一.SynchronousQueue概述 SynchronousQueue是一个不存储元素的队列.每一个put操作必须等待一个take操作,否则不能继续添加元素. 它支持公平访问队列.默认情况下线程采 ...

  9. EasyUI下拉框级联

    EasyUI用来实现后台界面还是可以的,毕竟面对的是小众群体而非广大的用户,简单为美.这里想聊的功能是一种下拉框的联动,比如我选中了下拉框A的某一项,那么下拉框B的选项就是甲乙丙丁,如果我选了A的另一 ...

  10. 第五章 编码/加密——《跟我学Shiro》

    转发地址:https://www.iteye.com/blog/jinnianshilongnian-2021439 目录贴:跟我学Shiro目录贴 在涉及到密码存储问题上,应该加密/生成密码摘要存储 ...