Size: a a a

Python для анализа данных

2018 December 27

VN

Vlad Nykytenko in Python для анализа данных
так тоже не работает(
источник

АМ

Алексей Макаров... in Python для анализа данных
А что выводит?
источник

VN

Vlad Nykytenko in Python для анализа данных
не заполняются NA. если делать mode(axis=1), то он же считает по колонке, и тогда тоже всплывают  NA
источник

АМ

Алексей Макаров... in Python для анализа данных
В доках вот такую штуку советуют: df.fillna(df.mode().iloc[0])
источник

VN

Vlad Nykytenko in Python для анализа данных
да, вот так работает, спасибо
источник

VN

Vlad Nykytenko in Python для анализа данных
точно, нужно было по индексу строку искать
источник

VN

Vlad Nykytenko in Python для анализа данных
тупанул
источник

АМ

Алексей Макаров... in Python для анализа данных
👍🏻
источник

К

Константин in Python для анализа данных
Алексей Макаров
columns можно переименовать через set_axis с параметром axis=1 и inplace=True

drop также можно сделать с inplace=True

А вот map, наверно, можно сделать только через pipe. По сути, можно будет сделать одну функцию и в неё завернуть обе эти операции

Тогда в итоге получится logs.set_axis([...], inplace=True, axis=1).drop([...], inplace=True).pipe(function)
👍
источник

К

Константин in Python для анализа данных
Алексей Макаров
columns можно переименовать через set_axis с параметром axis=1 и inplace=True

drop также можно сделать с inplace=True

А вот map, наверно, можно сделать только через pipe. По сути, можно будет сделать одну функцию и в неё завернуть обе эти операции

Тогда в итоге получится logs.set_axis([...], inplace=True, axis=1).drop([...], inplace=True).pipe(function)
logs.set_axis(['ip', 'drop1', 'date','url', 'status', 'drop2', 'referrer', 'userAgent', 'drop3', 'drop4','drop5', 'domain'], inplace=True, axis=1).drop(['drop1', 'drop2', 'drop3', 'drop4','drop5'], inplace=True, axis=1)
так возвращает: "'NoneType' object has no attribute 'drop'" - если я правильно понимаю, то от метода set_axis выходит пустой объект.


а так работает:
logs.set_axis(['ip', 'drop1', 'date','url', 'status', 'drop2', 'referrer', 'userAgent', 'drop3', 'drop4','drop5', 'domain'], inplace=True, axis=1)
logs.drop(['drop1', 'drop2', 'drop3', 'drop4','drop5'], inplace=True, axis=1)

Что неправильно делаю в первом случае?
источник

АМ

Алексей Макаров... in Python для анализа данных
Вы правы в том, что возвращает NoneType. Это я ошибся с логикой inplace в данном методе. По умолчанию в этом методе работает inplace = True, а вам для того, что сделать пайплайн наоборот нужен inplace=False
источник

АМ

Алексей Макаров... in Python для анализа данных
logs.set_axis(['ip', 'drop1', 'date','url', 'status', 'drop2', 'referrer', 'userAgent', 'drop3', 'drop4','drop5', 'domain'], inplace=False, axis=1).drop(['drop1', 'drop2', 'drop3', 'drop4','drop5'], axis = 1)
источник

АМ

Алексей Макаров... in Python для анализа данных
Вот так всё должно работать
источник

АМ

Алексей Макаров... in Python для анализа данных
Изменил там сообщение выше
источник

АМ

Алексей Макаров... in Python для анализа данных
По поводу set_axis обратите внимание на его поведение в будущих версиях:
источник

АМ

Алексей Макаров... in Python для анализа данных
источник

К

Константин in Python для анализа данных
большое спасибо!)
источник

ЗТ

Захар Трубачев... in Python для анализа данных
Всем привет!

Подскажите, как в pandas при создании нового столбца дёрнуть часть конкретной ячейки?
Например, я забирают из GA данные с датами, они в формате 20181227, мне надо преобразовать в нормальную дату. Сейчас обхожу циклом, чтобы дёргать по очереди каждую строку, но кажется, можно сделать без него.
источник

ЗТ

Захар Трубачев... in Python для анализа данных
История вроде оч не сложная и просто про синтаксис, но нагуглить не получилось.
источник

АМ

Алексей Макаров... in Python для анализа данных
Так вы можете просто pd.to_datetime(df['date'], format = '%Y%m%d') сделать
источник