下面显示的代码打印的形状等于(20, 50, 53)
。可以,但是没有人知道为什么当我仅将df.head(20)
更改为df.head(200)
时得到(200,)
吗?我在这个问题上苦苦挣扎了很长时间,不知道发生了什么。在df
中,我有一个字符串。我不明白为什么在此示例中形状不等于(200, 50, 53)
。我知道在这种情况下,值53可能会有所不同,因为它取决于字典的大小,但是我不明白为什么形状会更改为(200,)
?我将非常感谢您的帮助。我尝试粘贴尽可能少的源代码,但我想粘贴可能影响最终结果的每个部分。有什么想法吗?
inputList = []
for index, row in df.head(20).iterrows():
inputList.append(list(row['i']))
inputList2 = []
for key in inputList:
inputList2.append(key + [''] * (50 - len(key)))
dict = {}
for key in inputList2:
for index, key2 in enumerate(key):
if key2 in dict:
key[index] = dict[key2]
else:
dict[key2] = len(dict)
key[index] = dict[key2]
input_one_hot_encoded_list = []
for key in inputList2:
one_hot_word_list = []
for key2 in key:
temp_list = [0] * len(dict)
temp_list[key2] = 1
one_hot_word_list.append(temp_list)
input_one_hot_encoded_list.append(one_hot_word_list)
shape = array(input_one_hot_encoded_list).shape
print(shape)