Я занимаюсь очисткой фрейма данных, и один конкретный столбец содержит значения, которые состоят из списков. Я пытаюсь найти среднее из этих списков и обновить существующий столбец с int, сохраняя при этом индексы. Я могу успешно и эффективно преобразовать эти значения в список, но в процессе я теряю значения индекса. Код, который я написал ниже, слишком сложен для выполнения. Есть ли более простой код, который будет работать?
data: https://docs.google.com/spreadsheets/d/1Od7AhXn9OwLO-SryT--erqOQl_NNAGNuY4QPSJBbI18/edit?usp=sharing
def Average(lst):
sum1 = 0
average = 0
if len(x) == 1:
for obj in x:
sum1 = int(obj)
if len(x)>1:
for year in x:
sum1 += int(year)
average = sum1/len(x)
return mean(average)
hello = hello[hello.apply([lambda x: mean(x) for x in hello])]
Вот l oop, который я использовал для преобразования значений в список :
df_list1 = []
for x in hello:
sum1 = 0
average = 0
if len(x) == 1:
for obj in x:
df_list1.append(int(obj))
if len(x)>1:
for year in x:
sum1 += int(year)
average = sum1/len(x)
df_list1.append(int(average))