在Pandas DataFrame中插入一列的方法实例

作者:allway2 时间:2021-08-17 19:39:18 

引言

通常,您可能希望在 Pandas DataFrame 中插入一个新列。幸运的是,使用 pandas insert()函数很容易做到这一点,该函数使用以下语法:

insert(loc, column, value, allow_duplicates=False)

在哪里:

  • loc: 插入列的索引。第一列是 0。

  • column: 赋予新列的名称。

  • value: 新列的值数组。

  • allow_duplicates: 是否允许新列名匹配现有列名。默认值为假。

本教程展示了如何在实践中使用此功能的几个示例。

示例 1:插入新列作为第一列

以下代码显示了如何插入一个新列作为现有 DataFrame 的第一列:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                  'assists': [5, 7, 7, 9, 12],
                  'rebounds': [11, 8, 10, 6, 6]})

#view DataFrame
df
       pointsassistsrebounds
025511
11278
215710
31496
419126

#insert new column 'player' as first column
player_vals = ['A', 'B', 'C', 'D', 'E']
df.insert(loc=0, column='player', value=player_vals)
df

playerpointsassistsrebounds
0A25511
1B1278
2C15710
3D1496
4E19126

示例 2:插入新列作为中间列

以下代码显示了如何插入一个新列作为现有 DataFrame 的第三列:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                  'assists': [5, 7, 7, 9, 12],
                  'rebounds': [11, 8, 10, 6, 6]})

#insert new column 'player' as third column
player_vals = ['A', 'B', 'C', 'D', 'E']
df.insert(loc=2, column='player', value=player_vals)
df

pointsassistsplayerrebounds
0255A11
1127B8
2157C10
3149D6
41912E6

示例 3:插入新列作为最后一列

以下代码显示了如何插入一个新列作为现有 DataFrame 的最后一列:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                  'assists': [5, 7, 7, 9, 12],
                  'rebounds': [11, 8, 10, 6, 6]})

#insert new column 'player' as last column
player_vals = ['A', 'B', 'C', 'D', 'E']
df.insert(loc=len(df.columns), column='player', value=player_vals)
df

pointsassistsplayerrebounds
0255A11
1127B8
2157C10
3149D6
41912E6

请注意,使用 len(df.columns) 允许您在任何数据帧中插入一个新列作为最后一列,无论它可能有多少列。

您可以在此处找到 insert() 函数的完整文档。

补充:按条件选择分组分别赋值

按条件先选择数据,然后对这部分数据赋值新列

实例:高低温差大于10度,则认为温差大

# 先创建空列(这是第一种创建新列的方法)
df['wencha_type'] = ''

df.loc[df["bWendu"]-df["yWendu"]>10, "wencha_type"] = "温差大"

df.loc[df["bWendu"]-df["yWendu"]<=10, "wencha_type"] = "温差正常"

来源:https://blog.csdn.net/allway2/article/details/121422562

标签:pandas,dataframe,列
0
投稿

猜你喜欢

  • asp中利用xmlhttp抓取网页内容的代码

    2023-07-06 04:18:12
  • GO的range具体使用

    2023-07-21 03:27:27
  • asp检测表单输入EMAIL合法性的函数

    2007-10-16 13:39:00
  • python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析

    2021-03-23 03:49:14
  • networkx库绘制带权图给无权图加权重输出

    2022-01-29 05:54:23
  • python实现自动重启本程序的方法

    2022-07-18 14:16:19
  • python区块链实现简版网络

    2023-02-17 01:06:59
  • SqlServer表死锁的解决方法分享

    2011-09-30 11:16:16
  • Python设置Word全局样式和文本样式的示例代码

    2022-06-29 05:06:07
  • 详解Python Opencv和PIL读取图像文件的差别

    2023-09-14 07:36:00
  • 详解Python Flask API 示例演示(附cookies和session)

    2021-12-03 18:37:29
  • python调用cmd命令行制作刷博器

    2023-07-26 15:18:35
  • PHP基于非递归算法实现先序、中序及后序遍历二叉树操作示例

    2023-08-16 04:46:47
  • python Tensor和Array对比分析

    2023-08-27 04:37:02
  • WEB2.0网页制作标准教程(1)选择什么样的DOCTYPE

    2007-11-13 12:57:00
  • Python捕捉和模拟鼠标事件的方法

    2022-02-14 11:17:24
  • SQL Server索引管理的六大铁律

    2009-03-25 14:05:00
  • Python 使用Opencv实现目标检测与识别的示例代码

    2023-01-23 17:46:11
  • Django使用unittest模块进行单元测试过程解析

    2021-04-03 13:09:08
  • Django自定义模板过滤器和标签的实现方法

    2023-08-12 12:24:51
  • asp之家 网络编程 m.aspxhome.com