numpy数组的形状不能正常工作

时间:2019-01-06 20:08:56

标签: python python-3.x numpy shapes one-hot-encoding

下面显示的代码打印的形状等于(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)

0 个答案:

没有答案