在 Pandas DataFrame 中两列相减

您所在的位置:网站首页 awk2个文件两行相减 在 Pandas DataFrame 中两列相减

在 Pandas DataFrame 中两列相减

2024-01-18 01:31| 来源: 网络整理| 查看: 265

使用 __getitem__ 语法([])来做 Pandas 中的两列相减 在 Pandas 中使用函数做两列相减 在 Pandas 中使用 assign() 方法做两列相减

Pandas 可以处理非常大的数据集,并且有多种功能和操作可以应用到数据中。

其中一个简单的操作是对两列进行减法,并将结果存储在一个新的列中,这将在本教程中讨论。这个简单的任务可以通过多种方式来完成。我们将计算下面 DataFrame 中'a'和'd'列之间的差。

import pandas as pd df = pd.DataFrame( [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"] ) print(df)

输出:

a b c d 0 10 6 7 8 1 1 9 12 14 2 5 8 10 6 使用 __getitem__ 语法([])来做 Pandas 中的两列相减

两列相减的最简单方法是访问所需的列,并使用 __getitem__ 语法([])创建一个新列。例如:

import pandas as pd df = pd.DataFrame( [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"] ) df["d - a"] = df["d"] - df["a"] print(df)

输出:

a b c d d - a 0 10 6 7 8 -2 1 1 9 12 14 13 2 5 8 10 6 1 在 Pandas 中使用函数做两列相减

我们可以很容易地在 Pandas 中创建一个两列相减的函数,并使用 apply() 函数将其应用到 DataFrame 的指定列中。我们将为 apply() 函数提供参数 axis,并将其设置为 1,表示该函数应用于列。

import pandas as pd df = pd.DataFrame( [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"] ) def x(a, b): return a - b df["d - a"] = df.apply(lambda f: x(f["d"], f["a"]), axis=1) print(df)

输出:

a b c d d - a 0 10 6 7 8 -2 1 1 9 12 14 13 2 5 8 10 6 1

由于列的减法是一个比较简单的操作,所以我们可以直接使用 lambda 关键字在 apply() 函数中创建简单的单行函数。

import pandas as pd df = pd.DataFrame( [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"] ) df["d - a"] = df.apply(lambda x: x["d"] - x["a"], axis=1) print(df)

输出:

a b c d d - a 0 10 6 7 8 -2 1 1 9 12 14 13 2 5 8 10 6 1 在 Pandas 中使用 assign() 方法做两列相减

DataFrame assign() 方法用于在执行某些操作后向 DataFrame 中添加一列。它返回一个新的 DataFrame,其中包含所有原始的和新的列。下面的例子将展示如何使用 assign() 方法减去两列。

import pandas as pd df = pd.DataFrame( [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"] ) df = df.assign(d_minus_a=df["d"] - df["a"]) print(df)

输出:

a b c d d_minus_a 0 10 6 7 8 -2 1 1 9 12 14 13 2 5 8 10 6 1


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3