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. xampp下载和使用

    XAMPP 下载地址: XAMPP HTML存放目录,也就是根目录,可以在这个目录进行添加HTML文件和PHP文件. C:\xampp\htdocs 访问web,localhost:80或者直接访问l ...

  2. 洛谷 P2939 [USACO09FEB]改造路Revamping Trails

    题意翻译 约翰一共有N)个牧场.由M条布满尘埃的小径连接.小径可 以双向通行.每天早上约翰从牧场1出发到牧场N去给奶牛检查身体. 通过每条小径都需要消耗一定的时间.约翰打算升级其中K条小径,使之成为高 ...

  3. java线程基础巩固---通过实验分析This锁和Class锁的存在

    This锁: 关于什么是This锁下面用实现来说明一下它: 那下面用两个线程分别调用这两个方法,如下: 看结果: 可见两个方法是同时输出的,因为m2()方法并未上锁,所以就不存在争锁的问题,那这时给m ...

  4. .net core 读取appsettings 的配置

    { "Logging": { "IncludeScopes": false, "LogLevel": { "Default&quo ...

  5. 小程序生成海报 canvas

    前言 微信小程序需要生成海报进行朋友圈分享,但是不同的手机会有问题, 然后首先是图片的问题 图片 在模拟器上没有报错,可是真机测试却什么也没画出来. canvas.drawImage 是不支持网络图片 ...

  6. BZOJ 3881[COCI2015]Divljak (AC自动机+dfs序+lca+BIT)

    显然是用AC自动机 先构建好AC自动机,当B中插入新的串时就在trie上跑,对于当前点,首先这个点所代表的串一定出现过,然后这个点指向的fail也一定出现过.那么我们把每个点fail当作父亲,建一棵f ...

  7. Eclipse 的 CheckStyle 插件

    Eclipse 的 CheckStyle 插件 1.简介 Checkstyle 是 SourceForge 下的一个开源项目,提供了一个帮助 JAVA 开发人员遵守某些编码规范的工具.它能进行自动化代 ...

  8. 【leetcode】1284. Minimum Number of Flips to Convert Binary Matrix to Zero Matrix

    题目如下: Given a m x n binary matrix mat. In one step, you can choose one cell and flip it and all the ...

  9. 对称加密算法DES、3DES和AES 原理总结(转载)

    1.对称加密算法 1.1 定义 对称加密算法是应用较早的加密算法,技术成熟.在对称加密算法中,数据发信方将明文(原始数据)和加密密钥(mi yue)一起经过特殊加密算法处理后,使其变成复杂的加密密文发 ...

  10. jquery animate()方法 语法

    jquery animate()方法 语法 作用:animate() 方法执行 CSS 属性集的自定义动画.该方法通过CSS样式将元素从一个状态改变为另一个状态.CSS属性值是逐渐改变的,这样就可以创 ...