我尝试将单词与 DataFrame 列分开:
Binary = []
for i in range(0,len(data)):
if data['attack'][i] == 'normal':
Binary.append(1)
else:
Binary.append(0)
print(len(Binary))
data= pd.DataFrame({'attack':['normal','neptune','ps','normal','neptune']})
print(data)
attack
0 normal
1 neptune
2 ps
3 normal
4 neptune
我们要将这些列值更改为: ValueError:系列的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
attack
0 1
1 0
2 0
3 1
4 0
仅正常= 1
否则0
最佳答案
将 bool 掩码转换为整数,以将 True/False
映射到 1/0
:
data['attack'] = data['attack'].eq('normal').astype(int)
或者使用numpy.where
指定两个值:
data['attack'] = np.where(data['attack'].eq('normal'), 1, 0)
<小时/>
print(data)
attack
0 1
1 0
2 0
3 1
4 0
关于python - 尝试将单词与 pandas DataFrame 列分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57090838/