在 Pandas DataFrame 中两列相减
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
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串