Pandas-数据结构-DataFrame(七):添加元素、修改元素、删除元素

2023-10-26

一、添加元素

新增列/行并赋值

import numpy as np
import pandas as pd

df = pd.DataFrame(np.random.rand(16).reshape(4, 4) * 100,
                  columns=['a', 'b', 'c', 'd'])
print("df = \n", df)
print("-" * 100)

# 新增列/行并赋值
df['e'] = 10
df.loc[4] = 20
print("df = \n", df)

打印结果:

df = 
            a          b          c          d
0  39.621173  36.363400  21.042923  36.160210
1  39.775787  32.010771  86.375488  15.035171
2  49.328983  58.402799  12.979410  59.408702
3  21.167906  91.684124  22.953356  98.618665
----------------------------------------------------------------------------------------------------
df = 
            a          b          c          d   e
0  39.621173  36.363400  21.042923  36.160210  10
1  39.775787  32.010771  86.375488  15.035171  10
2  49.328983  58.402799  12.979410  59.408702  10
3  21.167906  91.684124  22.953356  98.618665  10
4  20.000000  20.000000  20.000000  20.000000  20

二、修改元素

import numpy as np
import pandas as pd

df = pd.DataFrame(np.random.rand(16).reshape(4, 4) * 100,
                  columns=['a', 'b', 'c', 'd'])
print("df = \n", df)
print("-" * 100)

# 索引后直接修改值
df[['a', 'c']] = 100
print("df = \n", df)

打印结果:

df = 
            a          b          c          d
0  39.621173  36.363400  21.042923  36.160210
1  39.775787  32.010771  86.375488  15.035171
2  49.328983  58.402799  12.979410  59.408702
3  21.167906  91.684124  22.953356  98.618665
----------------------------------------------------------------------------------------------------
df = 
      a          b    c          d   e
0  100  36.363400  100  36.160210  10
1  100  32.010771  100  15.035171  10
2  100  58.402799  100  59.408702  10
3  100  91.684124  100  98.618665  10
4  100  20.000000  100  20.000000  20

三、删除:del / drop()

删除:del / drop()

  • del:为原地删除
  • df.drop([1, 2]:返回新对象,其中的索引为名词索引而非位置下标索引
import numpy as np
import pandas as pd

# 删除  del / drop()

df = pd.DataFrame(np.random.rand(16).reshape(4, 4) * 100,
                  index=[2, 1, 3, 0],
                  columns=['a', 'b', 'c', 'd'])
print("df = \n", df)
print("-" * 50)

# del语句 - 删除列
del df['a']
print("删除第a列后:df = \n", df)
print("-" * 100)

# drop()删除行,inplace=False → 删除后生成新的数据,不改变原数据
df2 = df.drop(0)
df3 = df.drop([1, 2])
print("df = \n", df)
print("-" * 50)
print("删除第0行后:df2 = \n", df2)
print("-" * 50)
print("删除第1、2行后:df3 = \n", df3)
print("-" * 100)

# drop()删除列,需要加上axis = 1,inplace=False → 删除后生成新的数据,不改变原数据
df4 = df.drop(['d'], axis=1)
print("df = \n", df)
print("-" * 50)
print("df4 = \n", df4)

打印结果:

df = 
            a          b          c          d
2  97.538939  28.115040  25.287657  82.030868
1  58.227305  40.422558  58.629622  19.732153
3  39.179936  57.157078  33.694614  68.138918
0  57.069357  35.340227  91.023129  69.587282
--------------------------------------------------
删除第a列后:df = 
            b          c          d
2  28.115040  25.287657  82.030868
1  40.422558  58.629622  19.732153
3  57.157078  33.694614  68.138918
0  35.340227  91.023129  69.587282
----------------------------------------------------------------------------------------------------
df = 
            b          c          d
2  28.115040  25.287657  82.030868
1  40.422558  58.629622  19.732153
3  57.157078  33.694614  68.138918
0  35.340227  91.023129  69.587282
--------------------------------------------------
删除第0行后:df2 = 
            b          c          d
2  28.115040  25.287657  82.030868
1  40.422558  58.629622  19.732153
3  57.157078  33.694614  68.138918
--------------------------------------------------
删除第12行后:df3 = 
            b          c          d
3  57.157078  33.694614  68.138918
0  35.340227  91.023129  69.587282
----------------------------------------------------------------------------------------------------
df = 
            b          c          d
2  28.115040  25.287657  82.030868
1  40.422558  58.629622  19.732153
3  57.157078  33.694614  68.138918
0  35.340227  91.023129  69.587282
--------------------------------------------------
df4 = 
            b          c
2  28.115040  25.287657
1  40.422558  58.629622
3  57.157078  33.694614
0  35.340227  91.023129

Process finished with exit code 0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas-数据结构-DataFrame(七):添加元素、修改元素、删除元素 的相关文章

随机推荐

  • datax同步mysql数据到hive

    datax hdfswriter文档 https github com alibaba DataX blob master hdfswriter doc hdfswriter md 需要注意的是 hdfswriter写入时的字段分隔符 需要
  • OOM-Java内存不足排查与分析

    一 背景 项目程序是内嵌到APP的H5页面 从APP跳转进入H5页面需要调用APP系统的token认证接口 近期某个时间点出现登录验证失败情况 排查服务日志 发现token认证接口服务报错 java lang OutOfMemoryErro
  • notepad++ 64位安装json插件JStool

    64bit的 notepad 不支持plugin manager了 只能手动安装插件 json格式化工具 JSTool http www softpedia com get Office tools Text editors Junwen
  • Unity基础篇:A game object can only be in one layer. The layer needs to be in the range [0...31]解决方案

    出现这个问题大多是因为你项目中用到的Layer参数没有在ProjectSetting里面设置 解决方案 然后把用到的Layer添加进去就OK了
  • 宝塔访问MySQL数据库 phpmyadmin 503 由于维护停机或容量问题,服务器暂时无法满足您的请求。Service Unavailable

    1 检查服务器端口是否已经开放 具体方法可参考 端口开放 https blog csdn net Anicer1219 article details 114373394 2 检查宝塔安全组是否放行端口 3 检查 phpmyadmin 工具
  • 代码随想录训练营第十一天

    1 有效的括号 LeetCode 题20 https programmercarl com 0020 E6 9C 89 E6 95 88 E7 9A 84 E6 8B AC E5 8F B7 html E8 BF 9B E5 85 A5 E
  • 李宏毅 机器学习 2016 秋:4、bias vs variance

    文章目录 四 Where does the error come from 四 Where does the error come from 我们上一次有看到说 如果你选择不同的 function set 你就是选择不同的 model 你在
  • CSS3-nth-child() 选择器的使用

    nth child n 选择属于其父元素的第 n 个子元素 n 可以是一个数字 一个关键字 或者一个公式 相对于父级做参考 选择所有子元素中匹配元素的奇数子元素 被选中的元素符合匹配条件且为奇数个的元素 dl box dd nth chil
  • c++之静态函数和静态方法

    1 对象与对象之间要共享数据 则需要使用静态成员或静态方法 2 在类中声明静态成员变量 即使不实例化对象 也可以我静态成员变量分配空间 因为静态成员变量在对象创建之前就已经被分配了内存空间 3 静态成员虽在类中 但它并不是随对象的建立而分配
  • [网络安全提高篇] 一一二.DataCon Coremail邮件安全竞赛之钓鱼邮件识别及分类

    这是作者2020年参加清华大学 Coremail 奇安信DataCon举办的比赛 主要是关于钓鱼和异常邮件识别研究 非常感谢举办方让我们学到了新知识 DataCon也是我比较喜欢和推荐的大数据安全比赛 这篇文章2020年10月就进了我的草稿
  • C#获取windows下用于标志当前电脑的唯一性编号

    最近做的项目 有个需求需要软件注册激活后才能使用 激活这种事情么 从来没做过 网上找找大多数说法都是绑定PC机器的物理硬件 推荐用SmBIOS的UUID 获取不到的情况下再用其它硬件序列号组合 但找了一圈没找到现成的C 代码获取相关ID的文
  • CSRF攻击与防御(写得非常好)

    转载地址 http www phpddt com reprint csrf html CSRF概念 CSRF跨站点请求伪造 Cross Site Request Forgery 跟XSS攻击一样 存在巨大的危害性 你可以这样来理解 攻击者盗
  • LR(1)分析法

    目录 1 LR 1 分析表和LR 1 文法 2 SLR冲突消解存在的问题 1 LR 1 和SLR 1 分析表构造方法的对比 2 SLR冲突消解存在的问题 3 LR K 项目 4 有效项目 5 构造LR 1 分析表的方法 6 例题分析 1 L
  • Python爱心程序(怦然心动)

    import random from math import sin cos pi log from tkinter import CANVAS WIDTH 640 画布的宽 CANVAS HEIGHT 640 画布的高 CANVAS CE
  • 硬件基础——数字电路门电路

    门电路与D触发器 一 与门 1 基本定义 与门又称 与电路 逻辑 积 逻辑 与 电路 是执行 与 运算的基本逻辑门电路 有多个输入端 一个输出端 当所有的输入同时为高电平 逻辑1 时 输出才为高电平 否则输出为低电平 逻辑0 2 真值表 3
  • 简述远程视频监控项目方案

    5G时代的到来和运营商不断的下调流量资费 使得远程视频监控系统更加的被广泛使用 视频监控中前端摄像机具有快速编码视频内容的能力视频图象数字化是实时编码压缩的 视频流被封装为编码成网络数字包 可以通过网络传输到后端的解码 存储设备 在局域网视
  • mysql float 1,MySql中float类型含义及参数详解

    float表示浮点数 通俗点来说的话 我们可以简单理解为小数 参数有两个 M表示精度 表示浮点数的位数 D表示标度 表示小数位数 M位数不包括小数点位数 举例 float 6 2 则最大范围表示 9999 99 9999 99 float所
  • 用python写一个解密JS混淆加密代码的代码。

    为了解密JS混淆加密代码 您可以使用以下Python代码 def deobfuscate obfuscated code 首先 使用JS解密器库 例如Javascript Deobfuscator 尝试解密代码 以下是使用Javascrip
  • VS2019最简单编译V8引擎方法

    文章目录 1 编译前的配置工作 1 1配置代理 1 2下载depot tools 1 3下载Windows SDK10 2 获取源码 2 1可能出现的错误 3 编译源码 3 1 VS2019编译 1 3 2 VS2019编译 2 3 3另外
  • Pandas-数据结构-DataFrame(七):添加元素、修改元素、删除元素

    一 添加元素 新增列 行并赋值 import numpy as np import pandas as pd df pd DataFrame np random rand 16 reshape 4 4 100 columns a b c d