Pandas如何新增一列并按条件赋值?

Pandas读取csv新增一列数据 1.在原始数据上新增一列数据 原始数据字段有:学号(snao),姓名(sanem),年龄(age): 新增数据,新增一列分数字段:分数(sresult) : (1)我们首先创建写入原始数据 代码如下: import pandas as pd # 导入pandas 模块 # 写入初始值 sno、sname、sage sno = [202001,202002] # 学号 sname = ["张三","李四"] # 姓名 sage = [20,18] # 年龄 # 创建dataframe对象,写入数据:字段 阅读详情

在Pandas中,我们经常需要根据某列的值来 conditional 地给其他列赋值。今天我们来看一个示例,对DataFrame新增一列,要求:

  • 如果list列为空,则新列值为0
  • 如果list列不为空,则新列值为amount列对应行的值


要实现这个条件赋值,我们可以使用Pandas的apply方法。apply方法可以对DataFrame中的每一行应用一个函数,并将函数的返回值 Assign 到新列中。


具体实现代码如下:
 

import pandas as pd

df = pd.DataFrame({
    'id': [1, 2, 3],
    'list': [[], [1, 2], [3]],
    'amount': [0, 10, 20] 
})

# 定义lambda函数,list为空则返回0,否则返回amount值
df['new_col'] = df.apply(lambda row: 0 if not row['list'] else row['amount'], axis=1)

print(df)

# 输出:
   id  list  amount  new_col
0   1   []       0        0  
1   2  [1, 2]     10       10 
2   3   [3]      20       20


在lambda表达式中,我们判断list列是否为空,如果为空则返回0,否则返回amount列对应的值。
这样apply方法就可以根据我们的条件,把返回的值赋给新列new_col。


通过这个示例,我们学习到Pandas中如何使用apply方法实现条件赋值的方法。apply结合lambda表达式可以灵活地对DataFrame中的数据进行各种运算和处理,是 Pandas 中一个非常有用的工具

Pandas总结】第六节 Pandas 添加 Pandas数据处理时,经常要用到添加数据列的方式;这篇文章主要解决的就是在Pandas添加列的问题; 常用的添加列的方法有如下几种:直接赋值,用`df.apply()` 方法, 用`df.assign()`方法,条件分组后,分别赋值 阅读详情

相关推荐

pandas学习笔记:按照指定的条件筛选和修改某一列的值

文章目录根据条件定位/筛选某一列的值返回 series 结构的写法返回 dataframe 结构的写法基于整张表的定位操作根据条件修改某一列的值基于 series 结构的修改基于 dataframe 结构的修改Note: 这种情况是不奏效的,这是规定,因此在赋值的时候我们最好只用上面的第一种方式去写。再来一个训练实例 根据条件定位/筛选某一列的值 import pandas as pd import numpy as np df = pd.DataFrame(data={"数据":[1,2,3,4,5,6

qq_42902997的博客 1万+

Python中,我们常常需要对DataFrame添加一列且每个值都赋值为相同的列表

Python中,我们常常需要对DataFrame添加一列且每个值都赋值为相同的列表。以上就是使用Pandas库在Python中向DataFrame添加新列,将每个值赋值为相同列表的方法。如果你在数据分析和处理中遇到了类似的问题,可以参考本文的代码来解决。上面的代码定义了一个长度为4的列表,其中每个元素依次是1、2、3、4。这一行代码就可以将新列添加DataFrame中,而且每个值都被赋值为我们定义的列表中对应的元素。我们可以看到,新列已经成功添加DataFrame中,每个值都被正确地赋值

TechBurst的博客 1250

DataFrame添加一列且每个值赋值为列表(ValueError: Length of values does not match length of index)的解决方案

本文主要介绍了对DataFrame添加一列且每个值赋值为列表的解决方案,希望能对新手有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 2万+

pandas.dataFrame按条件修改列的值

np.where(condition, x, y):满足条件(condition),输出x,不满足输出y。如果column1符合A或B条件,对应的’plus’列删除的前7个字段。这个时候就运用if elif。

猫敷雪 2062

pandasDataFrame新增赋值

DataFrame新增列的话,除了join,merge,concat这些函数之外,还可以通过简单的df['new_column']=values的形式对其新增列,但是在使用这种方式新增列时,需要注意索引问题以及新增多列时该如何操作。 一、索引问题 这个问题只有在等号右边的对象是Series或者DataFrame时需要注意,因为这时等号右边的对象是有索引的,这样赋值...

S_o_l_o_n的博客 5万+

pandas添加新列的常见方法

pandasDataFrame格式数据添加新列的方法非常简单,只需要新建一个列索引,再为其赋值即可。 以下总结了5种常见添加新列的方法。 首先,创建一个DataFrame结构数据,作为数据举例。 import pandas as pd # 创建一个DataFrame结构数据 data = {'a': ['a0', 'a1', 'a2'], 'b': ['b0', 'b1', 'b2']} df = pd.DataFrame(data) print('举例数据情况:\n', df) 添加

LHJCSDNYL的博客 9万+

Part 4:Pandas新增数据列【直接赋值、apply、assign、分条件赋值

这种情况下语句代码只能运行一次,当运行第二次的时候,原存储的数据已经被改变了。将温差加入表格当中,注意wencha是一个series,后面的减法返回的是一个series。在进行数据分析时,经常需要按照一定条件创建新的数据列,然后进行进一步分析。按条件先选择数据,然后对这部分数据赋值新列。实例:高低温差大于10度,则认为温差大。清理温度列,变成一个数字类型。

qq_46044325的博客 1万+

pandas如何新增数据列

pandas如何新增数据列

听海边涛声 978

[Pandas基础] Pandas 新增数据列

在用pandas处理数据时,经常需要按照一定条件来创建写的数据列,然后进一步分析。 下面 四种方法常用于新增数据列: 1)直接赋值 2)df.apply方法 3) df.assign方法 4) 按照条件分组分别赋值

m0_74827981的博客 3087

pandas 新增数据列(直接赋值、apply,assign、分条件赋值

转自: # pandas新增数据列(直接赋值、apply、assign、分条件赋值) # pandas在进行数据分析时,经常需要按照一定条件创建新的数据列,然后进行进一步分析 # 1 直接赋值 # 2 df.apply方法 # 3 df.assig方法 # 4 按条件选择分组分别赋值 import pandas as pd # 0 读取csv数据到dataframe df = pd.read_csv("beijing_tianqi_2018.csv") print(d

锵锵锵锵蒋的博客 2万+

Pandas怎样新增数据列

在进行数据分析时,经常需要按照一定条件创建新的数据列,然后进行进一步分析。 直接赋值 df.apply方法 df.assign方法 按条件选择分组分别赋值 微信公众号:蚂蚁学Python import pandas as pd 0、读取csv数据到dataframe fpath = "./datas/beijing_tianqi/beijing_tianqi_2018.csv" df = p...

蚂蚁学Python 2万+

Pandas系列学习教程——04 pandas新增数据列

随着人工智能的不断发展,数据分析这门技术也越来越重要,很多人都开启了学习数据分析,本文就介绍了pandas学习的基础内容。本章仅仅简单介绍了pandas新增数据列的4种方法——直接赋值法、df.apply法、df.assign法和按条件选择分组赋值法。

lzylzy66的博客 1890

dataframe 新增一列_Pandas 新增一列对相同的行赋同一个值

需求来源为知友的一个提问:pandas如何新增一列,对相同的行赋同一个值?​www.zhihu.com希望将整行内容一样的内容做同样的标识,可能用于相同内容的筛选。话不多说,咱们直接进入解题。首先先造个数据:import 以上我们构造了四行数据,其中0和2相同,1和3相同,接下来就增加一列,预期为相同行为相同值,答案如下:# 答案 我们拆分解析一下答题过程:先将原数据加工成一个新的列,行数据为所有...

weixin_39853523的博客 2600

Python系列】读取 Excel 第一列数据赋值到指定列

本文介绍了如何使用 Python 读取 Excel 文件,将 Excel 文件中的第一列数据赋值到指定的列中。我们使用了 pandas 库来实现这个功能,提供了完整的示例代码。通过使用 Python 读取 Excel 文件,我们可以方便地处理电子表格中的数据,进行各种数据分析和处理操作。这对于数据科学和数据处理的任务非常有帮助。👍🏻呗。❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄👍 👍 👍。

CSDN站内信: https://i.csdn.net/#/msg/chat/qyj19920704 1万+

Pandas新增数据列

在进行数据分析时,经常需要按照一定条件创建新的数据列,然后进行进一步分析。先读取数据: 直接赋值的方法 df.apply方法 Apply a function along an axis of the DataFrame.Objects passed to the function are Series objects whose index is either the DataFrame’s index (axis=0) or the DataFrame’s columns (axis=1)

hbkybkzw的博客 1017

python dataframe新增一列

1、直接在后面新增一列 指明列名,赋值即可: data[‘addlist’]=[1,2] 2、在指定位置新增一列 用insert()函数,data.insert(位置,列名,列值),例如: data.insert(2,‘c’,’’) 3、根据现有列计算生成新的列 dataframe 根据某列的值生成新的列 df2[‘是否逾期’]=df2.apply(lambda x:0 if x.应付日期>today_time else 1,axis=1) df2[‘是否到期90天’]=(today_time -

julyclj55555的博客 5万+

Pandas DataFrame新增一列

前言 在进行数据分析时,经常需要按照一定的条件创建新的数据列,然后进行进一步分析。 直接赋值 df.apply()方法 np.where()方法 df.assign方法 按照条件选择分组分别赋值 一、直接赋值 #直接赋值 #方法一:增加值为空的新列 df['D']='' #增加D列,赋值为空值。 #方法二:根据已有列增加新列 df['D']=df['A']//10 #新建列D。A列数据除以10取整,结果放到D列 df['D']=df['A']&g

m0_64336020的博客 7154

Python - Pandas 如何新增数据列

本文摘要: 新增数据列 1.直接赋值 2.df.apply方法 3.df.assgin方法 4.按条件选择分组分别赋值 直接赋值 例子续接上回 # df['High']、df['Low']其实是两个Series,相减返回仍是Series # 此处'High-Low'是要新增的新列名,新列数据为df表每行的High列和Low列的高低差 df.loc[:, 'High-Low'] = df['High'] - df['Low'] df.apply方法 下面示例: 新增一个’wendu_type’列,表示温度类

DreamingBetter的博客 6873
上一篇: Pandas 删除 DataFrame 列,就这么简单!
下一篇: 3秒学会!Pandas DataFrame列如何快速转换为列表
devid008
博客等级 码龄14年 45粉丝 89原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

devid008

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值