Я заполняю фрейм данных, используя содержимое списка списков, например:
desc_prep=[['aesthet', 'abod'], [['arb', 'abod'], ['forest', 'abod']]]
col_names = ['desc_name','desc_avg_vector']
df_desc_prep = pd.DataFrame(columns=col_names)
df_desc_prep['desc_name']=desc_prep
В этот момент я получаю следующее:
desc_name
0 [aesthet, abod]
1 [[arb, abod], [forest, abod]]
Когдаитерирование информационного кадра с метерическими элементами для получения кортежа с именем столбца и содержимым в виде серии:
for index, value in df_desc_prep.iteritems():
print("index: ", index)#-->index: desc_name
print("value: ", value)#-->value: 0 [aesthet, abod]
print("value[0]:", value[0])#['aesthet', 'abod']
print("value[1]:", value[1])#[['arb', 'abod'], ['forest', 'abod']]
if isinstance(value[0], list):#->value[0]: ['aesthet', 'abod']
При итерации с помощью iterrows () для получения серии для каждой строки:
for index, value in df_desc_prep.iterrows():
print("index: ", index)#-->index: 0
print("value: ", value)#-->value: desc_name [aesthet, abod]
if isinstance(value[0], list):#-->value[0]: ['aesthet', 'abod'], value[1]: IndexError: index out of bounds
Я ожидал получить значение [0] как aesthet
и значение [1] как abod
. Вместо этого я получаю IndexError: index out of bounds
при получении значения [1].
Как получить поведение итерации по фрейму данных и получить value[0]=aesthet
при итерации по ['aesthet', 'abod']
и value[0]=['arb', 'abod']
при итерации по [['arb', 'abod'], ['forest', 'abod']]