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. jar包编译成 dex

    1.将需要合并的jar放到同一个目录 2.编写一个google.xml文件写入如下内容 <!--?xml version="1.0" encoding="utf-8 ...

  2. GitHub的本地与远程

    首先要有一个github账户(这不是废话吗) 在linux中先安装git arch linux : pacman -S git 在终端里输入 ssh-keygen ##一直默认就可以了 将公钥加入到G ...

  3. 浅谈ROW_NUMBER() OVER()函数的使用

    语法格式:row_number() over(partition by 分组列 order by 排序列 desc)                   row_number() over 具有分组排 ...

  4. 22_5mybatis多表操作

    1.表之间的关系 一对多 多对一 一对一 多对多 举例: 用户和订单就是一对多 订单和用户就是多对一 一个用户可以下多个订单 多个订单属于同一个用户 人和身份证号就是一对一 一个人只能有一个身份证号 ...

  5. Mike and Feet CodeForces - 548D (单调栈)

    Mike is the president of country What-The-Fatherland. There are n bears living in this country besid ...

  6. python 示例代码3

    示例3:Python获取当前环境下默认编码(字符编码demo1.py) 字符编码,python解释器在加载py文件中的代码时,会对内容进行编码(默认ASCII),windows系统默认编码为GBK,U ...

  7. Hutools之http工具类

    Hutools请求网络资源使用的工具类:HttpRequest和HttpResponse Get方式请求数据 Get方式请求数据Map<String,Object> paramMap = ...

  8. No valid Maven installation found. Either set the home directory in the configuration dialog or set

    原因: IDEA的maven地址设置出错,系统找不到指定的maven路径 解决: setting---->maven修改正确的maven链接地址. 设置你maven 的地址为你的存放路基就好了

  9. MySQL_DBA整理

     MySQL_DBA整理(转) 2011-01-26 16:51:41 分类: Mysql/postgreSQL 转自:丁丁:http://www.itpub.net/thread-831154-2- ...

  10. Java-JDBCUtil工具类

    import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...