无名阁,只为技术而生。流水不争先,争的是滔滔不绝。

(python apply) 在Pandas Lambda函数中使用Apply,有多个if语句 Pandas 中 lambda 函数与 if 语句的结合 全网首发(图文详解1)

前沿技术 Micheal 4个月前 (06-04) 54次浏览 已收录 扫描二维码

(python apply) 在Pandas Lambda函数中使用Apply,有多个if语句

在Pandas中,应用lambda与if语句的结合,可以进行更复杂的数据处理。在Pandas中,我们经常使用apply函数与lambda函数一起使用,对数据集进行列级或行级的操作。

以下是一个简单的示例:

假设我们有一个DataFrame:

import pandas as pd
df = pd.DataFrame({
   'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'bar'],
   'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
   'C': [1, 2, 3, 4, 5, 6, 7, 8],
   'D': [10, 20, 30, 40, 50, 60, 70, 80]
})

假如我们想基于列’B’的值来创建一个新的列’E’,如果’B’列的值为’one’,’E’列的值为1,如果’B’列的值为’two’,’E’列的值为2,其他情况下,’E’列的值为3。

首先,我们需要定义这个条件:

conditions = [
    (df['B'] == 'one'),      # 'B'列值为'one'
    (df['B'] == 'two'),      # 'B'列值为'two'
]

然后,我们定义应用于这些条件的值:

values = [1, 2]    # 对应上述条件,分别赋值为1和2

最后,我们使用np.select()函数创建新的列:

import numpy as np
df['E'] = np.select(conditions, values, default=3)

以上,我们便生成了新的列’E’,这一列的值完全基于条件表达式的值。

这个代码基本涵盖了如何在Pandas的DataFrame中使用条件语句。如果你有别的地址的问题或者你需要处理的数据有其他更复杂的条件,请随时向我提问,我会尽力为你提供支持的。
(python 转置) python 实现二维列表转置 使用zip实现Python二维列表转置:转换矩阵 全网首发(图文详解1)
(execute) python execute函数功能详解 Python执行函数:exec()和eval() 全网首发(图文详解1)

喜欢 (0)
[]
分享 (0)
关于作者:
流水不争先,争的是滔滔不绝