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. 第十章· Logstash深入-Logstash与Redis那点事

    Logstash将日志写入Redis 为什么要使用Redis 在企业中,日志规模的量级远远超出我们的想象,这就是为什么会有一家公司日志易专门做日志收集,给大型金融公司收集日志,比如银行,因为你有可能看 ...

  2. 《python解释器源码剖析》第5章--python中的tuple对象

    5.0 序 我们知道对于tuple,就相当于不支持元素添加.修改.删除等操作的list 5.1 PyTupleObject对象 tuple的实现机制非常简单,可以看做是在list的基础上删除了增删改等 ...

  3. Linux下源码编译安装MySql,centeros7

    1. 安cmake工具 # yum install -y cmake 2. 创建mysql用户  #useradd -s /sbin/nologin mysql  //设置为非登陆用户(安全) 3. ...

  4. pv与pvc

    目的: 为了屏蔽底层存储实现的细节, 让用户方便使用同时让管理员方便管理, 引入了pv与pvc两种资源对象实现对存储的管理子系统 pv: 对底层网络共享存储的抽象, 将共享存储定义为一种资源 pvc: ...

  5. 牛客小白月赛12 I 华华和月月逛公园 (tarjian 求桥)

    链接:https://ac.nowcoder.com/acm/contest/392/I 来源:牛客网 华华和月月逛公园 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K, ...

  6. MyBatis---join 查询

    在实际业务中,经常能碰到多表关联查询 下面的Demo,讲举例join查询在MyBatis中的实现 User 类: package com.zy.domain; import java.io.Seria ...

  7. Android Gradle 常用配置

    Gradle:multiDexEnabled之DEX 方法超过64K限制和gradle编译OOM问题解决DEX 方法超过64K限制 UNEXPECTED TOP-LEVEL EXCEPTION: co ...

  8. 小程序wx.showToast()方法实现文字换行

    小程序wx.showToast()方法实现文字换行 在文字中间加上  '\r\n' 真机中生效 wx.showToast({ title: `换行前内容\r\n换行后内容`, icon: 'none' ...

  9. vue项目和django项目交互补充,drf介绍,restful规范

    目录 一.vue项目与django项目的交互 二.drf(Django-restframework) 1. drf主要知识点 2. drf框架安装 3. web接口(WEB API) 4. restf ...

  10. Codeforces 871C 872E Points, Lines and Ready-made Titles

    题 OvO http://codeforces.com/contest/871/problem/C ( Codeforces Round #440 (Div. 1, based on Technocu ...