Как суммировать большие фреймы данных в пандах Python (50 столбцов х 2 м строк) - PullRequest
3 голосов
/ 20 октября 2019

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

Манипулирование и объединение не проблема, ноГрупповая функция не дает мне никаких результатов. Мне интересно, как я могу узнать, почему это ничего мне не возвращает. Он загружает код, а затем результат печатается в записной книжке Jupyter, которая включает только те столбцы, которые я запросил, но вернуло 0 строк.

Есть ли какие-либо ограничения в столбцах при использовании функции групповой работы? - Я использую 40 групповых столбцов и 10 полей количества полей для суммирования.

Есть ли альтернативы, которые я могу попробовать? - Я сталкивался с некоторыми методами с использованием NumPy, которые могут быть более эффективными в памяти. Но я не смог найти эффективный способ решить эту проблему для 40 столбцов.

Я искал в Интернете, но не смог найти ответа. Я новичок в пандах, поэтому прежде чем я углублюсь в эту тему, я просто хочу проконсультироваться, если я что-то упускаю или есть более простой способ достичь того, чего я хочу.

Потому чтоdataframe имеет более 40 столбцов для группировки и около 10 полей значений, я включил их в два объекта списков. Это было первое препятствие, которое я преодолел благодаря следующей странице stackoverflow.

Эти списки затем используются в функции groupby.

#A way i tried solving this, due to the limitation of only 9 variables if you enter them in your groupby functionality.

groupcolumns = ['aa','ab','ac','ad'] #etc
amountcolumns = ['z1', 'z2', 'z3', 'z4'] #etc

df1 = df.groupby(groupcolumns)[amountcolumns].sum
df1.reset_index()

Я ожидаю, что он вернет DataFrame, которыйСуммированные в столбцах группы для столбцов суммы.

Было бы здорово, если кто-нибудь может мне помочь! Заранее спасибо.

1 Ответ

0 голосов
/ 20 октября 2019

Я заметил, что один из 40 столбцов имеет только нулевые значения.

Используя df.info(), я затем удалил это поле из группы, и оно работает как шарм.

Возможноприятно поделиться, это было только в groupby (значения), у меня также было несколько пустых полей, которые были включены в сумму, они не предоставили никаких проблем.

Спасибо @powerPixie !!

...