pandas dataframe 新增单列和多列

2023-10-31

dataframe 新增单列

assign方法

dataframe assign方法,返回一个新对象(副本),不影响旧dataframe对象

    import pandas as pd

    df = pd.DataFrame({
        'col_1': [0, 1, 2, 3],
        'col_2': [4, 5, 6, 7]
    })
    sLength = len(df['col_1'])
    df2 = df.assign(col_3=pd.Series([8, 9, 10, 11]).values)
    print(df)
    print(df2)

结果展示:

   col_1  col_2
0      0      4
1      1      5
2      2      6
3      3      7
   col_1  col_2  col_3
0      0      4      8
1      1      5      9
2      2      6     10
3      3      7     11

简单的方法和insert方法

简单的方法df[‘col_3’] = pd.Series([8, 9, 10, 11])
insert方法 df.insert(loc=len(df.columns), column=“col_4”, value=[8, 9, 10, 11])
这种方式会对旧的dataframe新增列

    import pandas as pd

    df = pd.DataFrame({
        'col_1': [0, 1, 2, 3],
        'col_2': [4, 5, 6, 7]
    })

    df['col_3'] = pd.Series([8, 9, 10, 11])
    print(df)
    df.insert(loc=len(df.columns), column="col_4", value=[8, 9, 10, 11])
    print(df)

dataframe 新增多列

list unpacking

    import pandas as pd
    import numpy as np

    df = pd.DataFrame({
        'col_1': [0, 1, 2, 3],
        'col_2': [4, 5, 6, 7]
    })

    df['column_new_1'], df['column_new_2'], df['column_new_3'] = [np.nan, 'dogs', 3]
    print(df)

结果展示:

   col_1  col_2  column_new_1 column_new_2  column_new_3
0      0      4           NaN         dogs             3
1      1      5           NaN         dogs             3
2      2      6           NaN         dogs             3
3      3      7           NaN         dogs             3

DataFrame也可以一行匹配

 df[['column_new_1', 'column_new_2', 'column_new_3']] = pd.DataFrame([[np.nan, 'dogs', 3]], index=df.index)

concat方法

    df = pd.concat(
        [
            df,
            pd.DataFrame(
                [[np.nan, 'dogs', 3]],
                index=df.index,
                columns=['column_new_1', 'column_new_2', 'column_new_3']
            )
        ], axis=1
    )

join方法

df = df.join(pd.DataFrame(
    [[np.nan, 'dogs', 3]], 
    index=df.index, 
    columns=['column_new_1', 'column_new_2', 'column_new_3']
))

join + 字典

df = df.join(pd.DataFrame(
    {
        'column_new_1': np.nan,
        'column_new_2': 'dogs',
        'column_new_3': 3
    }, index=df.index
))

assign方法

df = df.assign(column_new_1=np.nan, column_new_2='dogs', column_new_3=3)

土方法

    df['column_new_1'] = np.nan
    df['column_new_2'] = 'dogs'
    df['column_new_3'] = 3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pandas dataframe 新增单列和多列 的相关文章

  • 使用 openCV 对图像中的子图像进行通用检测

    免责声明 我是计算机视觉菜鸟 我看过很多关于如何在较大图像中查找特定子图像的堆栈溢出帖子 我的用例有点不同 因为我不希望它是具体的 而且我不确定如何做到这一点 如果可能的话 但我感觉应该如此 我有大量图像数据集 有时 其中一些图像是数据集的
  • Flask 和 uWSGI - 无法加载应用程序 0 (mountpoint='')(找不到可调用或导入错误)

    当我尝试使用 uWSGI 启动 Flask 时 出现以下错误 我是这样开始的 gt cd gt root localhost uwsgi socket 127 0 0 1 6000 file path to folder run py ca
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • 如何使用包含代码的“asyncio.sleep()”进行单元测试?

    我在编写 asyncio sleep 包含的单元测试时遇到问题 我要等待实际的睡眠时间吗 I used freezegun到嘲笑时间 当我尝试使用普通可调用对象运行测试时 这个库非常有用 但我找不到运行包含 asyncio sleep 的测
  • 如何使用 Scrapy 从网站获取所有纯文本?

    我希望在 HTML 呈现后 可以从网站上看到所有文本 我正在使用 Scrapy 框架使用 Python 工作 和xpath body text 我能够获取它 但是带有 HTML 标签 而且我只想要文本 有什么解决办法吗 最简单的选择是ext
  • __del__ 真的是析构函数吗?

    我主要用 C 做事情 其中 析构函数方法实际上是为了销毁所获取的资源 最近我开始使用python 这真的很有趣而且很棒 我开始了解到它有像java一样的GC 因此 没有过分强调对象所有权 构造和销毁 据我所知 init 方法对我来说在 py
  • 运行多个 scrapy 蜘蛛的正确方法

    我只是尝试使用在同一进程中运行多个蜘蛛新的 scrapy 文档 http doc scrapy org en 1 0 topics practices html但我得到 AttributeError CrawlerProcess objec
  • 使用 Pycharm 在 Windows 下启动应用程序时出现 UnicodeDecodeError

    问题是当我尝试启动应用程序 app py 时 我收到以下错误 UnicodeDecodeError utf 8 编解码器无法解码位置 5 中的字节 0xb3 起始字节无效 整个文件app py coding utf 8 from flask
  • IRichBolt 在storm-1.0.0 和 pyleus-0.3.0 上运行拓扑时出错

    我正在运行风暴拓扑 pyleus verbose local xyz topology jar using storm 1 0 0 pyleus 0 3 0 centos 6 6并得到错误 线程 main java lang NoClass
  • feedparser 在脚本运行期间失败,但无法在交互式 python 控制台中重现

    当我运行 eclipse 或在 iPython 中运行脚本时 它失败了 ascii codec can t decode byte 0xe2 in position 32 ordinal not in range 128 我不知道为什么 但
  • Abaqus 将曲面转化为集合

    我一直试图在模型中找到两个表面的中心 参见照片 但未能成功 它们是元素表面 面 查询中没有选项可以查找元素表面的中心 只能查找元素集的中心 找到节点集的中心也很好 但是我的节点集没有出现在工具 gt 查询 gt 质量属性选项中 而且我找不到
  • 当玩家触摸屏幕一侧时,如何让 pygame 发出警告?

    我使用 pygame 创建了一个游戏 当玩家触摸屏幕一侧时 我想让 pygame 给出类似 你不能触摸屏幕两侧 的错误 我尝试在互联网上搜索 但没有找到任何好的结果 我想过在屏幕外添加一个方块 当玩家触摸该方块时 它会发出警告 但这花了很长
  • HTTPS 代理不适用于 Python 的 requests 模块

    我对 Python 还很陌生 我一直在使用他们的 requests 模块作为 PHP 的 cURL 库的替代品 我的代码如下 import requests import json import os import urllib impor
  • 循环中断打破tqdm

    下面的简单代码使用tqdm https github com tqdm tqdm在循环迭代时显示进度条 import tqdm for f in tqdm tqdm range 100000000 if f gt 100000000 4 b
  • Numpy 优化

    我有一个根据条件分配值的函数 我的数据集大小通常在 30 50k 范围内 我不确定这是否是使用 numpy 的正确方法 但是当数字超过 5k 时 它会变得非常慢 有没有更好的方法让它更快 import numpy as np N 5000
  • 在Python中重置生成器对象

    我有一个由多个yield 返回的生成器对象 准备调用该生成器是相当耗时的操作 这就是为什么我想多次重复使用生成器 y FunctionWithYield for x in y print x here must be something t
  • VSCode:调试配置中的 Python 路径无效

    对 Python 和 VSCode 以及 stackoverflow 非常陌生 直到最近 我已经使用了大约 3 个月 一切都很好 当尝试在调试器中运行任何基本的 Python 程序时 弹出窗口The Python path in your
  • 如何从没有结尾的管道中读取 python 中的 stdin

    当管道来自 打开 时 不知道正确的名称 我无法从 python 中的标准输入或管道读取数据 文件 我有作为例子管道测试 py import sys import time k 0 try for line in sys stdin k k
  • 您可以在 Python 类型注释中指定方差吗?

    你能发现下面代码中的错误吗 米皮不能 from typing import Dict Any def add items d Dict str Any gt None d foo 5 d Dict str str add items d f
  • 改变字典的哈希函数

    按照此question https stackoverflow com questions 37100390 towards understanding dictionaries 我们知道两个不同的字典 dict 1 and dict 2例

随机推荐

  • 华为OD机试真题-完美走位/滑动窗口【2023Q1】

    输入一个长度为4的倍数的字符串 字符串中仅包含WASD四个字母 将这个字符串中的连续子串用同等长度的仅包含WASD的字符串替换 如果替换后整个字符串中WASD四个字母出现的频数相同 那么我们称替换后的字符串是 完美走位 求子串的最小长度 如
  • 2023华为OD机试真题【严格递增字符串】【2023.Q2】

    题目描述 定义字符串完全由 A 和 B 组成 当然也可以全是A 或全是 B 如果字符串从前往后都是以字典序排列的 那么我们称之为严格递增字符串 给出一个字符串s 允许修改字符串中的任意字符 即可以将任何的 A 修改成 B 也可以将任何的 B
  • dll signing issue

    1 Verify if a dll has been signed sn exe v module dll Scenario sometimes for security reasons a Net program requires all
  • 命令行_第二篇 Anaconda Prompt 命令提示符

    Anaconda 安装外接库过程 1 打开Anaconda Prompt 输入conda list 就会显示已经安装好的库 2 如果已安装库中没有所需的库 则需要手动进行安装 3 pip install 外接库 更新所需要的外接库 Anac
  • 用 h2 替换 hsql

    开发时用hsql做数据库 没什么问题 部署的时候 碰到数据量比较大的情况 就有点感觉慢了 这个时候 想替换方案时 考虑了几个可能的替代 一个是mysql 肯定没问题 但是部署麻烦 被否定了 其他的java数据库 可选的包括 mocki 这个
  • C语言学习

    为了更好的理解数据结构 开始重温C语言 以前学习过C语言 所以此笔记可能有些天马行空 不系统 挂个学习链接 C语言实例说明 解剖C语言 C语言教程 C语言网 dotcpp com 1B 1byte 字节 8bit 一字节存两位16进制数 以
  • 数据科学猫:强化学习的定义

    进击的橘子猫正式改名上线啦 我的CSDN主页 https blog csdn net Orange Spotty Cat 也欢迎大家搜索微信公众号 进击的橘子猫 我也会定期分享数据科学 Python 大数据 项目管理与PPT的相关知识 让我
  • DUT处理延迟 对Monitor采数和验证环境结束机制的影响分析

    1 问题背景 一句话描述 验证环境中 当激励完成发送时 由于DUT存在处理延迟 monitor在延迟一段时间后才能采集到DUT完整的输出 如何设计验证环境的结束机制 此处的验证环境结束机制 可以认为是main phase的结束控制 但并不单
  • 21. Merge Two Sorted Lists

    题目描述 将两个升序链表合并为一个新的 升序 链表并返回 新链表是通过拼接给定的两个链表的所有节点组成的 示例 1 外链图片转存失败 源站可能有防盗链机制 建议将图片保存下来直接上传 img 0VfjZ6Ct 1686493063120 i
  • STM32CubeMX工程配置说明

    一 STM32CubeMX配置 1 1 设置时钟 单片机的时钟 相当于人的心跳 只要单片机工作 必须要开启时钟 STM32单片机共有4个时钟来源 名称 缩写 频率 外部连接 功能 用途 特性 外部高速晶体振荡器 HSE 4 16MHz 4
  • Android手把手实战APP首页 下拉刷新 自动加载

    一 概述 作为一名三年Android开发经验的程序员 今天和大家一起实战一款APP的首页功能 这个首页在我们平时接触中还是很常见的 虽然页面简单 但是里面涉及的功能点还是挺多的 代码如有不足的还望各路同仁指点一二 页面中使用的开发库 整个首
  • 国家税务总局全国增值税发票查验平台网站js逆向分析及全逆向算法还原

    本文教程针对的是2021年7月2日时国税查验平台的js分析 其中版本号为V2 0 06 009 主要分析内容为key9和flwq39以及fplx这3个参数的算法 其中key9分为获取验证码阶段和查验阶段 算法有所区别 flwq39同理 教程
  • js-倒计时

    p p
  • Redis的底层数据结构

    1 Redis的五种数据类型及七种底层结构 键的类型只能为字符串 值支持五种数据类型 字符串 列表 集合 散列表 有序集合 对于Redis来讲 对于键值对来说 键总是字符串 值就是五个中的一个 所以我们只用关心值的类型 值有五种数据类型 S
  • 理解CPU/寄存器/内存之间的关系

    转自 https blog csdn net qq 27689785 article details 82975575 CPU 寄存器 内存 因为要了解多线程 自然少不了一些硬件知识的科普 我没有系统学习过硬件知识 仅仅是从书上以及网络上看
  • Node.js全栈开发笔记与心得

    highlight a11y dark 一 Node js 全栈开发资料 1 前端入门基础 慕课网HTML CSS入门 慕课网JS入门 javascript进阶篇 菜鸟教程html部分 菜鸟教程CSS部分 阮一峰js入门 阮一峰es6教程
  • 一道有关逆序对的算法题---归并、树状数组、线段树三种解法

    这阵子巨忙 呜呜呜 上周末打了第十四届蓝桥杯的校内赛 总的来说 题目是很简单的 不过其中的压轴题挺有意思 所以我打算来一发博客记录记录这道算法题 废话不多说了 上题 问题描述 小蓝有一个序列 a 1 a 2 a n 每次可以交换相邻的两个元
  • 服务器系统网口,服务器网口设置方法

    服务器网口设置方法 内容精选 换一换 介绍常见的安全组配置示例 如下示例中 出方向默认全通 仅介绍入方向规则配置方法 不同安全组内的云耀云服务器内网互通仅允许特定 IP 地址远程连接云耀云服务器SSH远程连接Linux云耀云服务器RDP远程
  • 数据库原理-ER模型转换为关系模型

    1 ER图转换成关系模式集的算法 联系类型的转换 不同的情况做不同的处理 二元联系类型的转换 若实体间联系是1 1 可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性 若实体间联系是1 n
  • pandas dataframe 新增单列和多列

    dataframe 新增单列 assign方法 dataframe assign方法 返回一个新对象 副本 不影响旧dataframe对象 import pandas as pd df pd DataFrame col 1 0 1 2 3