1,pandas操作主要有对指定位置的赋值,如上一篇中的数据选择一样,根据loc,iloc,ix选择指定位置,直接赋值

2,插入,insert方法,插入行和列

3,添加

4,删除 drop方法

5,弹出 pop方法

In [1]:

import pandas as pd
import numpy as np

In [53]:

dates = np.arange(20190809,20190815)
df1 = pd.DataFrame(np.arange(24).reshape(6,4),index=dates,columns=["A","B","C","D"])
df1

Out[53]:

A B C D
20190809 0 1 2 3
20190810 4 5 6 7
20190811 8 9 10 11
20190812 12 13 14 15
20190813 16 17 18 19
20190814 20 21 22 23

In [20]:

df1.iloc[2,2]

Out[20]:

10

In [44]:

df1.iloc[2,2] = 100
df1

Out[44]:

A B C D
20190809 0 1 2 3
20190810 4 5 6 7
20190811 8 9 100 11
20190812 12 13 14 15
20190813 16 17 18 19
20190814 20 21 22 23

In [40]:

df1.loc[20190810,"B"]=200
df1

Out[40]:

A B C D
20190809 0 1 2 3
20190810 4 200 6 7
20190811 8 9 10 11
20190812 12 13 14 15
20190813 16 17 18 19
20190814 20 21 22 23

In [54]:

df1[df1.A>10]=0
df1

Out[54]:

A B C D
20190809 0 1 2 3
20190810 4 5 6 7
20190811 8 9 10 11
20190812 0 0 0 0
20190813 0 0 0 0
20190814 0 0 0 0

In [55]:

df1.A[df1.A==0]=100
df1

Out[55]:

A B C D
20190809 100 1 2 3
20190810 4 5 6 7
20190811 8 9 10 11
20190812 100 0 0 0
20190813 100 0 0 0
20190814 100 0 0 0

In [56]:

#插入一列
df1["E"]=10
df1

Out[56]:

A B C D E
20190809 100 1 2 3 10
20190810 4 5 6 7 10
20190811 8 9 10 11 10
20190812 100 0 0 0 10
20190813 100 0 0 0 10
20190814 100 0 0 0 10

In [59]:

df1["F"]=pd.Series([1,2,3,4,5,6],index=dates)
df1

Out[59]:

A B C D E F
20190809 100 1 2 3 10 1
20190810 4 5 6 7 10 2
20190811 8 9 10 11 10 3
20190812 100 0 0 0 10 4
20190813 100 0 0 0 10 5
20190814 100 0 0 0 10 6

In [62]:

#添加一行
df1.loc[20190815,["A","B","C"]]=[5,6,8]
df1

Out[62]:

A B C D E F
20190809 100.0 1.0 2.0 3.0 10.0 1.0
20190810 4.0 5.0 6.0 7.0 10.0 2.0
20190811 8.0 9.0 10.0 11.0 10.0 3.0
20190812 100.0 0.0 0.0 0.0 10.0 4.0
20190813 100.0 0.0 0.0 0.0 10.0 5.0
20190814 100.0 0.0 0.0 0.0 10.0 6.0
20190815 5.0 6.0 8.0 NaN NaN NaN

In [65]:

s1=pd.Series([1,2,3,4,5,6],index=["A","B","C","D","E","F"])
s1.name="S1"
df2 = df1.append(s1)
df2

Out[65]:

A B C D E F
20190809 100.0 1.0 2.0 3.0 10.0 1.0
20190810 4.0 5.0 6.0 7.0 10.0 2.0
20190811 8.0 9.0 10.0 11.0 10.0 3.0
20190812 100.0 0.0 0.0 0.0 10.0 4.0
20190813 100.0 0.0 0.0 0.0 10.0 5.0
20190814 100.0 0.0 0.0 0.0 10.0 6.0
20190815 5.0 6.0 8.0 NaN NaN NaN
S1 1.0 2.0 3.0 4.0 5.0 6.0

In [67]:

#插入一列
df1.insert(1,"G",df2["E"])
df1

Out[67]:

A G B C D E F
20190809 100.0 10.0 1.0 2.0 3.0 10.0 1.0
20190810 4.0 10.0 5.0 6.0 7.0 10.0 2.0
20190811 8.0 10.0 9.0 10.0 11.0 10.0 3.0
20190812 100.0 10.0 0.0 0.0 0.0 10.0 4.0
20190813 100.0 10.0 0.0 0.0 0.0 10.0 5.0
20190814 100.0 10.0 0.0 0.0 0.0 10.0 6.0
20190815 5.0 NaN 6.0 8.0 NaN NaN NaN

In [68]:

g=df1.pop("G")
df1.insert(6,"G",g)
df1

Out[68]:

A B C D E F G
20190809 100.0 1.0 2.0 3.0 10.0 1.0 10.0
20190810 4.0 5.0 6.0 7.0 10.0 2.0 10.0
20190811 8.0 9.0 10.0 11.0 10.0 3.0 10.0
20190812 100.0 0.0 0.0 0.0 10.0 4.0 10.0
20190813 100.0 0.0 0.0 0.0 10.0 5.0 10.0
20190814 100.0 0.0 0.0 0.0 10.0 6.0 10.0
20190815 5.0 6.0 8.0 NaN NaN NaN NaN

In [69]:

#删除列
del df1["G"]
df1

Out[69]:

A B C D E F
20190809 100.0 1.0 2.0 3.0 10.0 1.0
20190810 4.0 5.0 6.0 7.0 10.0 2.0
20190811 8.0 9.0 10.0 11.0 10.0 3.0
20190812 100.0 0.0 0.0 0.0 10.0 4.0
20190813 100.0 0.0 0.0 0.0 10.0 5.0
20190814 100.0 0.0 0.0 0.0 10.0 6.0
20190815 5.0 6.0 8.0 NaN NaN NaN

In [70]:

df2 = df1.drop(["A","B"],axis=1)
df1

Out[70]:

A B C D E F
20190809 100.0 1.0 2.0 3.0 10.0 1.0
20190810 4.0 5.0 6.0 7.0 10.0 2.0
20190811 8.0 9.0 10.0 11.0 10.0 3.0
20190812 100.0 0.0 0.0 0.0 10.0 4.0
20190813 100.0 0.0 0.0 0.0 10.0 5.0
20190814 100.0 0.0 0.0 0.0 10.0 6.0
20190815 5.0 6.0 8.0 NaN NaN NaN

In [71]:

df2

Out[71]:

C D E F
20190809 2.0 3.0 10.0 1.0
20190810 6.0 7.0 10.0 2.0
20190811 10.0 11.0 10.0 3.0
20190812 0.0 0.0 10.0 4.0
20190813 0.0 0.0 10.0 5.0
20190814 0.0 0.0 10.0 6.0
20190815 8.0 NaN NaN NaN

In [73]:

#删除行
df2=df1.drop([20190810,20190812],axis=0)
df1

Out[73]:

A B C D E F
20190809 100.0 1.0 2.0 3.0 10.0 1.0
20190810 4.0 5.0 6.0 7.0 10.0 2.0
20190811 8.0 9.0 10.0 11.0 10.0 3.0
20190812 100.0 0.0 0.0 0.0 10.0 4.0
20190813 100.0 0.0 0.0 0.0 10.0 5.0
20190814 100.0 0.0 0.0 0.0 10.0 6.0
20190815 5.0 6.0 8.0 NaN NaN NaN

In [74]:

df2

Out[74]:

A B C D E F
20190809 100.0 1.0 2.0 3.0 10.0 1.0
20190811 8.0 9.0 10.0 11.0 10.0 3.0
20190813 100.0 0.0 0.0 0.0 10.0 5.0
20190814 100.0 0.0 0.0 0.0 10.0 6.0
20190815 5.0 6.0 8.0 NaN NaN NaN

pandas-赋值操作的更多相关文章

  1. 数据分析06 /pandas高级操作相关案例:人口案例分析、2012美国大选献金项目数据分析

    数据分析06 /pandas高级操作相关案例:人口案例分析.2012美国大选献金项目数据分析 目录 数据分析06 /pandas高级操作相关案例:人口案例分析.2012美国大选献金项目数据分析 1. ...

  2. Pandas 常见操作详解

    Pandas 常见操作详解 很多人有误解,总以为Pandas跟熊猫有点关系,跟gui叔创建Python一样觉得Pandas是某某奇葩程序员喜欢熊猫就以此命名,简单介绍一下,Pandas的命名来自于面板 ...

  3. 深入理解Javascript--作用域和赋值操作

    作用域作为一个最基础的功能存在于各种编程语言中,它使得我们的编程更加灵活有趣.其基础功能就是存储变量中的值,然后可以对值进行访问和修改. 可能我们都知道作用域的一些概念,以及其一些扩展的一些内容闭包等 ...

  4. jquery select取值,赋值操作

    select">jquery select取值,赋值操作 一.获取Select 获取select 选中的 text : $("#ddlRegType").find( ...

  5. JavaScript对象属性赋值操作的逻辑

    对象进行属性赋值操作时,其执行逻辑如下所示: 1. 当前对象中是否有该属性?有,进行赋值操作:没有,进行下一步判断. 2. 对象的原型链中是否有该属性?没有,在当前对象上创建该属性,并赋值:有,进行下 ...

  6. Javascript对象赋值操作

    首先,我们还是举个例子来说明对象赋值操作的问题吧: ps: 本文默认约定log = console.log function A(){} A.prototype.x = 10; var a1 = ne ...

  7. 千万不要在JS中使用连等赋值操作

    前言 文章标题这句话原本是在国外某JavaScript规范里看到的,当时并没有引起足够的重视,直到最近一次出现了bug发现JS里的连等赋值操作的特色(坑). 网上搜索一番发现一个非常好的连等赋值的(来 ...

  8. Angularjs总结(五)指令运用及常用控件的赋值操作

    1.常用指令 <div ng-controller="jsyd-controller"> <div style="float:left;width:10 ...

  9. C风格字符串和C++ string 对象赋值操作的性能比较

    <<C++ Primer>> 第四版 Exercise Section 4.3.1 部分Exercise 4.2.9 习题如下: 在自己本机执行如下程序,记录程序执行时间: # ...

  10. 【转】千万不要在JS中使用连等赋值操作

    原文链接 千万不要在JS中使用连等赋值操作   目录 前言 赋值顺序? 连续赋值能拆开写么? 后记 前言 文章标题这句话原本是在国外某JavaScript规范里看到的,当时并没有引起足够的重视,直到最 ...

随机推荐

  1. Toast的基本用法 吐司打印

    //Toast.makeText(上下文,内容,显示时间);Toast toast =Toast.makeText(this,"位置="+position+"内容=&qu ...

  2. shell脚本基础和grep文本处理工具企业应用3

    文本处理工具:    linux上文本处理三剑客        grep,egrep,fgrep:文本过滤工具(模式:pattern)工具            grep:默认支持的是基本正则表达式: ...

  3. 版本控制工具 svn 一

    一.svn 概述 1).svn的作用 1.多人协作开发:2.远程控制:3.版本控制 2).软件控制管理工具发展之路 SCM:软件配置管理,所谓的软件配置管理实际就是软件源代码的 控制与管理. CVS: ...

  4. crc32 cpp Makefile可参考

    https://github.com/stbrumme/crc32 # simple Makefile CPP = g++ # files PROGRAM = Crc32Test LIBS = -lr ...

  5. 201871010104-陈园园《面向对象程序设计(java)》第十七周学习总结

    201871010104-陈园园<面向对象程序设计(java)>第十七周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...

  6. Linux常用命令type、date

    Linux命令类型: 内置命令(shell内置):cd is shell builtin 外部命令:命令 is /usr/bin/命令,在文件系统的某个路径下有一个与命令名称相应的可执行文件 type ...

  7. mysql中给查询结果添加序号列

    今天同事给了一个小需求,从一个存有不定数量坐标数据的表(map_trace)中每隔20条取一条.最后写了下面这条SQL: select * from (select @n:=@n+1 as n, a. ...

  8. JQuery 中each的使用方法

    JQuery中的each函数在1.3.2的官方文档中的描述如下: each(callback) 以每一个匹配的元素作为上下文来执行一个函数. 意味着,每次执行传递进来的函数时,函数中的this关键字都 ...

  9. 【转】用win7(64位)远程桌面连接linux(Ubuntu14.04)详细教程

    转自:http://blog.csdn.net/qq754438390/article/details/50042511 亲测,确实是可以.非常感谢原博. 用win7(64位)远程桌面连接linux( ...

  10. 题解 【NOI2015】软件包管理器

    题面 解析 事实上,这应该是道树剖裸题了, 将已安装表示为\(1\), 那么只需要在线段树中记录一下区间中\(1\)的个数就行了. 在询问的时候, 如果是安装,就查询\(x\)到根节点, 卸载的话,就 ...