gpt4 book ai didi

python - 如何在数据框中创建一个新列,根据前一列结果的百分比使用 1 或 0?

转载 作者:行者123 更新时间:2023-12-01 06:22:50 26 4
gpt4 key购买 nike

我有一个 144 行 48 列的数据框。它包含各种预测模型的结果,为 1 或 0。我想遍历一行,找到该行中 1 的百分比,并添加一个新列,如果百分比大于 80,则添加 1,否则添加 0。

我知道如何在 Excel 中使用 ifcountif/count% 执行此操作,但在这里我真的不知道该怎么做。我希望我提供了足够的信息,如果我没有提供,我很抱歉。非常感谢您的建议。

最佳答案

您可以通过以下方式找到每行中 1 的百分比:

df['percentage'] = df.mean(axis=1)

然后要创建新的二进制列,您可以使用np.where:

df['new'] = np.where(df['percentage'] > 0.8, 1, 0)

这与 Excel =IF 的工作方式相同(条件,如果 true 则值,如果 false 则值)。

虚拟数据示例:

import pandas as pd
import numpy as np

df = pd.DataFrame({'var1':[0,0,1],'var2':[0,1,1], 'var3':[1,1,1]})
df['percentage'] = df.mean(axis=1)
df['new'] = np.where(df['percentage'] > 0.8, 1, 0)

print(df)

输出:

   var1  var2  var3  percentage  new
0 0 0 1 0.333333 0
1 0 1 1 0.666667 0
2 1 1 1 1.000000 1

关于python - 如何在数据框中创建一个新列,根据前一列结果的百分比使用 1 或 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60284375/

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