gpt4 book ai didi

python - 如何添加多个整数列值并创建单个列

转载 作者:行者123 更新时间:2023-12-01 09:13:16 25 4
gpt4 key购买 nike

是否有任何函数可用于添加多个整数列值并创建新列。

例如:多个计数到单个总计数列。

我希望 concat 仅适用于字符串列。

最佳答案

有两种简单的方法可以做到这一点。第一个是简单地使用 + 并输入列名称,另一个是使用 addreduce 的组合来一次对多个列求和.

下面是一个示例,其中显示了两种方法来获取名称中包含 x 的所有列的总和(因此我们不包括列 y1总计)。

希望这有帮助!

import pyspark.sql.functions as F
import pandas as pd

# SAMPLE DATA -----------------------------------------------------------------------
df = pd.DataFrame({'x1': [0,0,0,1,1],
'x2': [6,5,4,3,2],
'x3': [2,2,2,2,2],
'y1': [1,1,1,1,1]})
df = spark.createDataFrame(df)

# Sum by typing the column names explicitly
df = df.withColumn('total_1',F.col('x1') + F.col('x2') + F.col('x3'))

# Sum many columns without typing them out using reduce
import operator
import functools
cols_to_sum = [col for col in df.columns if 'x' in col]
df = df.withColumn('total_2',functools.reduce(operator.add, [F.col(x) for x in cols_to_sum]))

df.show()

输出:

+---+---+---+---+-------+-------+
| x1| x2| x3| y1|total_1|total_2|
+---+---+---+---+-------+-------+
| 0| 6| 2| 1| 8| 8|
| 0| 5| 2| 1| 7| 7|
| 0| 4| 2| 1| 6| 6|
| 1| 3| 2| 1| 6| 6|
| 1| 2| 2| 1| 5| 5|
+---+---+---+---+-------+-------+

关于python - 如何添加多个整数列值并创建单个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51471474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com