Size: a a a

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

2019 August 17

ВЛ

Владислав Литвинюк... in Python для анализа данных
может на другой диске запустите код
источник

ФК

Фархад Керимли... in Python для анализа данных
Tim
Unstacked DataFrame is too big, causing int32 overflow
Я же правильно понимаю, что количество столбцов превысило максимальное значение типа int32 - 2млрд 147 млн? У вас больше столбцов при транспонировании?! 😳
источник

T

Tim in Python для анализа данных
Фархад Керимли
Я же правильно понимаю, что количество столбцов превысило максимальное значение типа int32 - 2млрд 147 млн? У вас больше столбцов при транспонировании?! 😳
Не настолько много) Тут в некоторых issue на гитхабе такая проблема возникает и с меньшим количеством
источник

T

Tim in Python для анализа данных
А решения так и нет
источник

ФК

Фархад Керимли... in Python для анализа данных
Может количество ячеек фрейма достигает такого количества? И при транспонировании он пытается их все записать в память. Но больше int32 не влезает...
источник

ФК

Фархад Керимли... in Python для анализа данных
А что если поделить фрейм на чанки, транспонировать, а потом объединить джоином?
источник
2019 August 18

T

Tim in Python для анализа данных
Фархад Керимли
А что если поделить фрейм на чанки, транспонировать, а потом объединить джоином?
Да, хорошая идея,нужно попробовать. Спасибо
источник

ФК

Фархад Керимли... in Python для анализа данных
;)
источник

T

Tim in Python для анализа данных
Строка на 700 тыс не транспонируется(
источник

ФК

Фархад Керимли... in Python для анализа данных
Так надо мельче, получается
источник

ФК

Фархад Керимли... in Python для анализа данных
Или я неправильно понял
источник

ФК

Фархад Керимли... in Python для анализа данных
Меньшее количество строк, больше чанков
источник

T

Tim in Python для анализа данных
Фархад Керимли
Меньшее количество строк, больше чанков
Знать бы заранее насколько мельче 😃
источник
2019 August 19

OO

Oleg Omelchenko in Python для анализа данных
привет!
Есть два датафрейма, один — "справочник", второй - содержит список действий.
Задача: объединить один со вторым и превратить во вложенный JSON.
Вот пример того как это должно работать: https://colab.research.google.com/drive/1PWTpjuOYvgvDhgrqzyz-Yh07dpNMknuJ#scrollTo=HDwoLSn-6fHx
Загвоздка в том, что это решение начинает жрать кучу времени, как только "справочник" разрастается до нескольких тысяч значений. Чувствую, что есть более эффективный вариант решения задачи, но нагуглить ничего не удалось пока что
источник

YP

Yuriy Prudnikov in Python для анализа данных
Oleg Omelchenko
привет!
Есть два датафрейма, один — "справочник", второй - содержит список действий.
Задача: объединить один со вторым и превратить во вложенный JSON.
Вот пример того как это должно работать: https://colab.research.google.com/drive/1PWTpjuOYvgvDhgrqzyz-Yh07dpNMknuJ#scrollTo=HDwoLSn-6fHx
Загвоздка в том, что это решение начинает жрать кучу времени, как только "справочник" разрастается до нескольких тысяч значений. Чувствую, что есть более эффективный вариант решения задачи, но нагуглить ничего не удалось пока что
Можно доступ?
источник

OO

Oleg Omelchenko in Python для анализа данных
Yuriy Prudnikov
Можно доступ?
там можно копию сделать, как в гуглодоке - "open in playground" / "copy to drive"
источник

OO

Oleg Omelchenko in Python для анализа данных
Oleg Omelchenko
привет!
Есть два датафрейма, один — "справочник", второй - содержит список действий.
Задача: объединить один со вторым и превратить во вложенный JSON.
Вот пример того как это должно работать: https://colab.research.google.com/drive/1PWTpjuOYvgvDhgrqzyz-Yh07dpNMknuJ#scrollTo=HDwoLSn-6fHx
Загвоздка в том, что это решение начинает жрать кучу времени, как только "справочник" разрастается до нескольких тысяч значений. Чувствую, что есть более эффективный вариант решения задачи, но нагуглить ничего не удалось пока что
получилось уменьшить время выполнения, если предварительно сгруппировать таблицу со значениями и брать оттуда датафреймы через .get_group():
grouped = values_df.groupby('a')
lookup_df['values'] = lookup_df['lookup_value'].apply(lambda x: grouped.get_group(x).to_dict(orient='records'))
lookup_df.to_json(orient='records')
источник

ВЛ

Владислав Литвинюк... in Python для анализа данных
Oleg Omelchenko
получилось уменьшить время выполнения, если предварительно сгруппировать таблицу со значениями и брать оттуда датафреймы через .get_group():
grouped = values_df.groupby('a')
lookup_df['values'] = lookup_df['lookup_value'].apply(lambda x: grouped.get_group(x).to_dict(orient='records'))
lookup_df.to_json(orient='records')
numpy быстрый, может через него часть операций?
источник

YP

Yuriy Prudnikov in Python для анализа данных
Владислав Литвинюк
numpy быстрый, может через него часть операций?
Там, насколько я понимаю, бОльшую часть времени выполняется get_group, т.к. он для каждой строки отрабатывает. Не думаю, что через numpy можно как то это сделать.
Я пытался без apply сделать, но ничего не вышло
источник

э

эдуард in Python для анализа данных
привет. кто-нибудь имел успешный опыт вытягивания названий столбцов из кликхауса через sqlalchemy? дичь какую-то отдаёт в res.keys() , а параметр with_column_types не работает.
источник