如何根据特定条件在数据框熊猫中的列上添加一列

提瓦里(Parth Tiwari)

我尝试过此操作,它又创建了一个水平列,但无法实现结果

    df['Level'] = np.where((df['DIV0'] != '00') & (df['DIV1'] != '00') & (df['DIV2'] != '00') & (df['DIV3'] != '00'), 'NP', 'Full')
    df['Level'] = np.where((df['DIV0'] != '00') & (df['DIV1'] != '00') & (df['DIV2'] != '00') & (df['DIV3'] == '00'), 'NP', 'Hu')
    df['Level'] = np.where((df['DIV0'] != '00') & (df['DIV1'] != '00') & (df['DIV2'] == '00') & (df['DIV2'] == '00'), 'NP', 'Lim')
    df['Level'] = np.where((df['DIV0'] != '00') & (df['DIV1'] == '00') & (df['DIV2'] == '00') & (df['DIV2'] == '00'), 'NP', 'SEG')

是否有任何方法可以创建python函数并通过使用apply()在数据框上应用该函数

斯科特·波士顿

您可以在不应用的情况下进行一些其他操作。

dd = {1:'SEG', 2:'Lim', 3:'Hu', 4:'Full'} #Create a dictionary mapping number of Trues to level label.
df['Level'] = (df.iloc[:, 1:] != '00').sum(axis=1).map(dd)

输出:

      Final  DIV0  DIV1  DIV2  DIV3 Level
0  78797071    78    79    70    71  Full
1  23000000    23    00    00    00   SEG
2  23450000    23    45    00    00   Lim
3  45678900    45    67    89    00    Hu

说明。

使用iloc,整数位置和切片符号,我们将位置1的所有行和列都返回到末尾。然后,我们创建一个布尔矩阵以找出值不等于'00'的位置。现在,让我们在每一行上加总Trues的数量,并使用map使用字典将该值映射到正确的标签。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何根据特定条件在一列上进行汇总来重塑数据集?

如何根据另一列的某些条件在数据框中添加列?

如何根据另一列中满足的条件在熊猫数据框中添加新列?

如何在数据框的列上使用R的diff函数,条件是在另一列中具有特定值

根据熊猫中另一列上的值在数据框中创建一个新列

如何在我的特定条件下在数据框中添加列?

在数据框熊猫中的特定行中添加一列

根据某些条件在数据框中添加一列?

python根据另一列的条件在数据框中添加行

根据同一数据框中另一列内容的条件,在数据框中添加新列

快速搜索熊猫数据框并根据条件在数据框的另一列中插入值

根据条件在熊猫数据框中创建一列

根据特定条件,将数据框一列中的所有行转换为多列

根据特定条件在数据框行中添加值

如何根据特定条件在熊猫中删除数据框中的重复行

根据熊猫中数据框的另一列的值添加一列

如何在熊猫数据框中以特定条件分组

根据特定条件修改 Spark 数据框中的列

需要根据特定列上的某些规则在熊猫数据框中添加新列

根据条件在数据框列中更改值,在另一列中更改值

根据多个列上的多个特定条件在熊猫中创建新列-Pandas

如何在特定条件下过滤熊猫数据框中的列值?

使用3个现有列上的条件在pandas数据框中添加一列

根据特定月份的值过滤熊猫数据框,并以另一列为条件

Pandas 数据框 - 将前一列中与特定条件匹配的所有值相加并将其添加到新列中

对于sql中的特定条件,同一列中的数据总和如何计算?

根据一列中的条件在数据框中创建新变量,从另一列中提取?(dplyr)

在数据框中添加另一列以根据日期过滤出每月的星期

如何过滤数据框并根据熊猫数据框中的另一列获取记录总数?