如何将['0' '1' '0' '1' '1' '0']
转换为[0. 1. 0. 1. 1. 0.]
?
第一个数组是使用以下代码创建的:
for filename in os.listdir("Data//Descriptions"):
f = open("Data/Descriptions/" + filename)
for i, line in enumerate(f):
if "b_m" in line:
if line[27] == "b":
all_labels.append("0")
elif line[27] == "m":
all_labels.append("1")
else:
all_labels.append("")
np.save("Labels.npy" , all_labels)
,当我将标签加载为np.load('Labels.npy')
时,它的dtype是:array(['0' '1' '0' '1' '1' '0'], dtype='<U1')
。
第二个使用以下代码创建:
for filename in os.listdir("Data//Descriptions"):
f = open("Data/Descriptions/" + filename)
for i, line in enumerate(f):
if "b_m" in line:
if line[27] == "b":
all_labels.append("0")
elif line[27] == "m":
all_labels.append("1")
else:
all_labels.append("")
all_labels = np.asarray(all_labels , dtype=np.float32)
我希望我的标签像第二个代码结果。另一方面,我想从numpy数组文件中加载它们,而不是重复读取它们。
我希望结果直接或通过添加更多代码成为:[0. 1. 0. 1. 1. 0.]
,dtype=np.float32
有人可以帮我吗?谢谢大家。
答案 0 :(得分:0)
a = ['0' '1' '0' '1' '1' '0']
>>> list(map(float, *a))
[0.0, 1.0, 0.0, 1.0, 1.0, 0.0]