Суммирование общего количества элементов для каждого типа элемента столбца в таблице

#python #data-science

#python #наука о данных

Вопрос:

Я действительно не знаю, как это сформулировать, поэтому я надеюсь, что это будет понятно. У меня есть большой csv-файл, который содержит тысячи строк и несколько столбцов, который в основном выглядит так :

Класс DBE Количество H / C N / C O / C
Класс 1 1 10000 0.9 0.08 0.8
Класс 1 2 50000 0.8 0.08 0.6
Класс 2 1 20000 0.9 0.06 0.5
Класс 2 1 30000 0.8 0.08 0.8

Я хочу получить общее количество элементов для каждого одного и того же класса (так что суммируйте все количества элементов класса 1, класса 2 и т.д.) И каждого одного и того же DBE. Мне также нужно общее количество для набора (H / C, N / C) и для набора (H / C, O / C). Я начал это вручную, но это очень долго, поэтому я надеялся использовать python, так как я немного его знаю и, похоже, у него есть библиотеки для вычислений. Каков наилучший способ добиться этого? Эта функция гистограммы в numpy кажется интересной, но требует знания «ячеек». Кодирование чего-либо для прокрутки таблицы кажется излишним.

Заранее спасибо

Комментарии:

1. Вы проверили pandas библиотеку и ее groupby функцию?

2. totals = df.groupby(["Class"]).sum()

Ответ №1:

Прежде всего, мы будем признательны, если вы поделитесь своим (нефункциональным) кодом, а не только задачей, которую вы хотите выполнить, см. Рекомендации по этому вопросу.

На ваш вопрос: вы могли бы попробовать использовать функцию pandas groupby после чтения файла csv в фрейм данных pandas.

например:

 import pandas as pd
df = pd.read_csv("your_csv_file")
df.groupby(["Class"].sum())
 

Затем вы суммируете все столбцы, кроме Class, где вы группируете после и должны иметь свое решение.

Комментарии:

1. Я не знал, с чего начать, поэтому у меня не было кода, который можно было бы предложить. Я спрашивал рекомендации. функция groupby — это то, что я искал, я не знал об этом, и она довольно мощная и простая в использовании.