【问题标题】: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.where 和pandas.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