Уведомления

Группа в Telegram: @pythonsu

#1 Март 16, 2022 15:48:45

Dand66
Зарегистрирован: 2022-03-16
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужна помощь в подготовке данных для анализа

У меня есть определённый датафрейм (не суть), в нем есть столбец с размером (вес) приложения.
Мне нужно преобразовать все к одному типу.
Что я только не делал, бился несколько дней, ни чего в голову не лезет.
Пробовал написать функцию типа такой:
def col(row):
for i in df:
if ‘k’ in i:
df.replace('k', '')
else:
df.replace('M', ‘')
а затем применить эту функцию через apply к столбцу,
не вышло, но помимо того, что нужно избавиться от символом ещё нужно все числа
которые были с ’k' разделить на 1000 (подстроиться под Мб).
Данный столбец имеeт тип данных object.
Помогите найти решение)

Прикреплённый файлы:
attachment Снимок.PNG (7,2 KБ)

Офлайн

#2 Март 21, 2022 23:55:05

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10005
Репутация: +  857  -
Профиль   Отправить e-mail  

Нужна помощь в подготовке данных для анализа

Ну, для начала просто пройдись по всем элементам и преврати их в числа, используая функцию превращения. Для каждого элемента нужно его взять, передать в эту функцию превращения, потом вернуть из функции число и сохранить в новый DataFrame с такой же позицией строка-столбец. Функция принимает строку и возвращает число. После этого этот новый DataFrame можно поделить, чтобы получились мегабайты, а затем полученные числа можно так же через обратную функцию превращения превратить из чисел в строки с буквами M и записать на место изначальных чисел прямо в тот же DataFrame исходный. Функция принимает число и возвращает строку.

Можешь, конечно, всё на исходном DataFrame'е проделать, но обычно этот шаблон с промежуточным временным DataFrame'ом применяется, чтобы работать с данными разными образами, которых дофига и больше. Не всегда можно прямо на исходном DataFrame'е всё провернуть.

Я тебе не предлагаю сделать одну функцию, которая и танцует, и поёт, и подарки раздаёт. Поэтому вот эти преобразования, перемешанные по всем направлениям, будут только вредить и запутывать. Лучше сделать несколько маленьких и простых функций, чем одну большую и запутанную. Если нужно что-то сделать, то сделай для этого маленькую функцию-помощницу.



Отредактировано py.user.next (Март 22, 2022 00:01:15)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version