Как применить функцию к существующим вторым элементам в столбце dataframe, не получая IndexError от элементов, у которых нет второго элемента? - PullRequest
0 голосов
/ 12 июля 2019

У меня есть фрейм данных, в котором определенные столбцы имеют два элемента, разделенных на "/".«бензин / электрический» под колонкой «топливо», например.

Однако не все элементы внутри столбцов имеют два элемента.Некоторые просто "бензин" без второго элемента.

  • Когда я применяю приведенную ниже формулу в поисках позиции [0], все становится хорошо.
  • Когда я задаю ее для позиции [1], она возвращает ошибку индекса: индекс индексавне зоны доступа.

Есть ли способ, с помощью которого я могу использовать мой код ниже, отобразить внутри строки сжатия списка, избегая этой ошибки?

Я попытался создать отдельный фрейм данных только со строками, которыеесть два элемента.

Это работает, но я хотел бы узнать, есть ли способ сделать все это без создания отдельного кадра и сохранения всех моих строк в одном кадре данных.

См. Ниже и спасибо.


split_columns = ['fuel','city_mpg','hwy_mpg','cmb_mpg']

divide=lambda x:x.split("/")[1]

result1=[(list(map(divide, df_18[c]))) for c in split_columns]

print(result1)

IndexError: индекс списка вне диапазона

...