【问题标题】:Data Labeling: Python数据标签:Python
【发布时间】:2019-04-27 11:23:33
【问题描述】:

考虑到两个参数,我必须在csv 中明智地标记我的数据行:

1. VE in range 0.9 to 1.3 or 0
2. Calculated load value in range 20 to 50

我必须通过添加另一列将这些标记为1,将其他标记为-1

我尝试了numpy.wherepandas.where,但它给出了错误提示series is ambiguous

另外,我怎样才能使用 python 预处理?

Snippet of csv

【问题讨论】:

    标签: python pandas csv numpy dataframe


    【解决方案1】:

    您可以使用np.where

    import numpy as np
    
    In [335]: df
    Out[335]: 
         VE  load_value
    0  0.59        31.0
    1  0.66        26.7
    2  0.57        47.5
    3  0.54        70.2
    4  0.59        45.1
    5  0.85        31.0
    6  0.94        33.7
    7  0.97        32.9
    8  0.96        32.9
    
    In [336]: df['label'] = np.where((df.VE <1.3) & (df.VE >= 0.9) & (df.load_value >=20) & (df.load_value <50), 1, -1)
    
    In [337]: df
    Out[337]: 
         VE  load_value  label
    0  0.59        31.0     -1
    1  0.66        26.7     -1
    2  0.57        47.5     -1
    3  0.54        70.2     -1
    4  0.59        45.1     -1
    5  0.85        31.0     -1
    6  0.94        33.7      1
    7  0.97        32.9      1
    8  0.96        32.9      1
    

    【讨论】:

      猜你喜欢
      • 2018-04-29
      • 2016-10-27
      • 2018-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-22
      • 2021-10-07
      • 1970-01-01
      相关资源
      最近更新 更多