📅  最后修改于: 2023-12-03 15:09:43.324000             🧑  作者: Mango
Pandas 是一个强大的数据分析和处理工具,常用于数据的预处理、清洗、转换和可视化等方面,其中新列的添加也是很常见的一个操作。本文将介绍 Pandas 中带有 where 逻辑的新列的添加方法,帮助程序员更好地处理数据。
Pandas 中的 where 函数与 NumPy 库中的 where 函数有所不同,其作用为:根据指定的条件,对符合条件的元素进行替换或保留不变,不符合条件的元素进行替换或保留不变。其语法格式如下:
pandas.DataFrame.where(cond, other=nan, inplace=False, axis=None, level=None, errors='raise', try_cast=False)
参数解释:
当 cond 条件为 True 时,保留原值不变;当 cond 条件为 False 时,替换为 other。
在 Pandas 中添加新列有多种方法,其中新列带有 where 逻辑的添加方法可以通过两种方式实现:
使用 apply 和 lambda 函数,根据指定的条件计算每个元素的值,并返回到新列中。
import pandas as pd
# 创建 DataFrame
df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
# 使用 apply 和 lambda 函数,根据指定的条件计算每个元素的值,并返回到新列中
df['c'] = df.apply(lambda row: row['a'] if row['b'] > 4 else 0, axis=1)
# 输出结果
print(df)
输出结果为:
a b c
0 1 4 0
1 2 5 2
2 3 6 3
使用 where 函数,根据指定的条件对指定列进行替换或保留不变,并返回到新列中。
import pandas as pd
# 创建 DataFrame
df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
# 使用 where 函数,根据指定的条件对指定列进行替换或保留不变,并返回到新列中
df['c'] = df['a'].where(df['b'] > 4, 0)
# 输出结果
print(df)
输出结果为:
a b c
0 1 4 0
1 2 5 2
2 3 6 3
本文介绍了 Pandas 中新列带有 where 逻辑的添加方法,这对于数据处理和分析很有帮助。需要注意的是,在使用 where 函数时,要按照指定的方式参数,否则可能会产生错误。