Pandas中 DataFrame中添加一行/一列

2023-11-13

概述

添加行df.loc[]以及df.append()两种方法,

添加列df[]df.insert()两种方法。

添加行例concat()和reindex()两种方法

一、添加行

1.采用loc[]方法

loc方法和iloc方法一样,可以索引DataFrame数据,一般是通过data.loc[index, col] = value
	# 构造一个空的dataframe
	import pandas as pd
	df = pd.DataFrame(columns=['name', 'number'])

	# loc[]中需要加入的是插入地方dataframe的索引,默认是整数型
	df.loc[1] = ['cat', 3] 
	df.loc['a'] = ['123',30]
    data.loc[:, 'd'] = 0
	print(df)

2.采用append()方法

# 1. 采用append方法合并两个dataframe

df = pd.DataFrame([[1, 2], [3, 4]], columns=list('AB'))
df2 = pd.DataFrame([[5, 6], [7, 8]], columns=list('AB'))
# 合并  ignore_index设置为 True可以重新排列索引
append_df = df.append(df2, ignore_index=True)

append_df :
   A  B
0  1  2
1  3  4
2  5  6
3  7  8


# 2. 采用append方法添加多行
df = pd.DataFrame(columns=['A'])
for i in range(5):
    df = df.append({'A': i}, ignore_index=True)
df
   A
0  0
1  1
2  2
3  3
4  4

 3. 采用concat()方法
拼接数据,好处是可以同时新增多个列名和行名
# 如果是遍历添加多行,更高效的方法
pd.concat([pd.DataFrame([i], columns=['A']) for i in range(5)], ignore_index=True)
   A
0  0
1  1
2  2
3  3
4  4

data = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns=['a', 'b', 'c'])
data.insert(data.shape[1], 'd', 0)
data['e'] = 0
data = pd.concat([data, pd.DataFrame(columns=['d'])], sort=False)

二、添加列

1.采用df[]
	df = pd.DataFrame(columns=['name', 'number'], data=[['cat', 3]])

	# 添加一列,计算有多少条腿
	df['leg'] = df['number'] * 4
	# 添加一列,直接赋值有几个头
	df['head'] = 1

2. 采用insert()

	# 使用方法是DataFrame.insert(loc,        column,   value, allow_duplicates=False)
    #                     (添加列位置索引序号,添加列名, 数值,  是否允许列名重复)
	df.insert(1, 'tail', 1, allow_duplicates=False)

3.采用reindex()函数

	#  reindex 函数,可以指定缺失值填充的值,
    # 缺点是要把原有的列名和新列名都加上,如果列名过多比较麻烦
	data = data.reindex(columns=['a', 'b', 'c', 'd'], fill_value=0)
  • 参考
  1. pandas df.iloc[]的典型用法
  2.  df.loc[]和df.iloc[]的区别
  3. pandas.DataFrame
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas中 DataFrame中添加一行/一列 的相关文章

随机推荐

  • Shuffle过程详解

    Shuffle过程详解 Shuffle过程是MapReduce的核心 最近看了很多资料 网上说法大体相同 但有些地方有一点点出入 就是各个阶段的执行顺序 总个shuffle过程可以看做是从map输出到reduce输入的这个中间过程 在这个中
  • Java 学习路线

    文章目录 Java基础 1 Java 基本功 1 1 Java 入门 基础概念与常识 1 2 Java 语法 1 3 基本数据类型 1 4 方法 函数 2 Java 面向对象 2 1 类和对象 2 2 面向对象三大特征 2 3 修饰符 2
  • web前端面试的自我介绍

    开始背景 1 面试官在你自我介绍的时候 才有时间看你的简历 人太多没时间看 看了也记不住 2 你在自我介绍中 他在想问你什么问题 3 了解你语言 表达能力 自信气场 仪表形态 常规低级错误 1 对面试官说 简历上有你自己看吧 2 对照简历就
  • .sh文件中第一行 #!/bin/bash -il 是什么

    sh文件中第一行 bin bash il 是什么 是执行该脚本文件的解释器的路径和选项 在一个 shell 脚本文件的第一行加上 符号 称为 shebang 它告诉系统使用哪个解释器执行这个脚本 在 bin bash 的例子中 它告诉系统使
  • Deep learning-based CSI Feedback for Beamforming 1

    1 Abstract The potentials of massive multiple input multipleoutput MIMO are all based on the available instantaneous cha
  • 目标检测综述-------深度学习用于目标检测的近期进展 introduction(一)

    论文题目 Recent Advances in Deep Learning for Object Detection 论文地址 摘要 目标检测是计算机视觉一个重要的视觉问题并且在最近得到了广泛的研究 视觉目标检测致力于在给定的图像内找到带有
  • “No input file specified “问题的处理

    接手新项目 配置的时候 遇上了 No input file specified 的问题 第一反应 是上网搜 关于这个问题的帖子有很多 总的来说 得到的问题原因有 一 跟路径有关系 路径没指对 二 可能是权限的问题 如 不允许访问 三 SCR
  • 《实现VM机与本机互ping》

    实现VM机与本机互ping 1 安装VM机及对应的OS gt 到本机检测VMware Network Adapter VMnet8是否已经生成 网上邻居 网络连接 2 查看 VMware Network Adapter VMnet8 网络I
  • C++ for循环跳过某一项求和

    include
  • 双三次插值及Matlab实现

    双三次插值及Matlab实现 一 简单实例 采用简单实例进行对双三次插值的介绍 由于双三次插值对于目标图像的某一像素进行估计时 所采用的像素信息为其周围16个像素点信息 因此不同于最近邻插值和双线性插值 此时假设有 5 5 5 times5
  • feign.FeignException: status 400 reading xxx#xxxx(String); content:

    网上有很多不一样的说话 我这个主要是因为feign的那个方法使用的 RequestParam注解 这个接收的参数长度过长造成的 这也是feign就算使用post方法 RequestParam的那个参数他会放在请求地址后面 而不是放在请求体
  • JupyterNotebook设置Python环境的方法步骤

    不多说 看链接 https stackoverflow com questions 39604271 conda environments not showing up in jupyter notebook conda activate
  • LAMP架构(qq农场)、部署jira、Java+数据库环境、

    LAMP架构 论坛 yum y install httpd yum y install mariadb mariadb server yum y install php php fpm php mysql php gd gd systemc
  • Linux多线程

    什么是线程 线程是OS调度的基本单位 其实在Linux环境下 线程可以看做是轻量级线程 Linux的线程本质仍然是进程 Linux先有进程后有线程 当创建了一个进程时 系统给他分配一段4G的虚拟内存 并在其内生成进程的PCB 当他调用相关函
  • 2023年网络安全趋势【网安人必看】

    数据安全越来越重要 我国 数据安全法 提出 建立健全数据安全治理体系 各地区部门均在探索和简历数据分类分级 重要数据识别与重点保护制度 数据安全治理不仅是一系列技术应用或产品 更是包括组织构建 规范制定 技术支撑等要素共同完成数据安全建设的
  • android Native和 Flutter 通信

    android 工程集成Flutter 集成方式主要是两种 1 工程的方式集成 首先创建android 和flutter工程 工程路径必须在同一路径下 1 在android 工程的settings gradle 文件中添加 rootProj
  • oracle的jdbc的版本与jdk对应关系

    连接类型 1 JDBC OCI oci是oracle call interface的缩写 此驱动类似于传统的ODBC 驱动 因为它需要Oracle Call Interface and Net8 所以它需要在运行使用此驱动的JAVA程序的机
  • 《软件测试》第六章 检查代码

    软件测试 第六章 检查代码 6 0 前言 6 1 静态白盒测试 检查设计和代码 6 2 正式审查 6 2 1 同事审查 6 2 2 走查 6 2 3 检验 6 3 编码标准和规范 6 4 通用代码审查清单 6 4 1 数据引用错误 6 4
  • MATLAB:画图

    目录 一 一个图上显示多个函数 二 在一个窗口显示多个图片 三 图形标注 四 线条属性 一 一个图上显示多个函数 1 相当于将上一个plot 保持住 plot B big angle x r hold on plot big angle x
  • Pandas中 DataFrame中添加一行/一列

    概述 添加行df loc 以及df append 两种方法 添加列df 和df insert 两种方法 添加行例concat 和reindex 两种方法 一 添加行 1 采用loc 方法 loc方法和iloc方法一样 可以索引DataFra