Как присвоить значение столбца (доллары) другому столбцу в pandas

#python #pandas #dataframe #graph

Вопрос:

Я не уверен, как сформулировать этот вопрос. Таблица делает этот процесс чрезвычайно простым, но в python я в тупике. У меня есть три типа колонок. Первый тип-это уникальный идентификатор. Второй тип-это логическая классификация для малого бизнеса (пример: Малый бизнес, принадлежащий ветеранам, ДА/НЕТ). Третий тип-это обязательства в долларах.

Это выглядит так:

Уникальный идентификатор Ветеран_Флаг Woman_Owned_Flag Доллары_Обязанные
6824295 ДА НЕТ 145768
8294347 НЕТ ДА 0
9374276 НЕТ ДА 824999

Моя цель состоит в том, чтобы построить гистограмму, которая показывает общую сумму обязательств в долларах, связанных с каждым флагом. Я обычно использую tableau, что делает это 3-минутным упражнением, но понятия не имею, как это сделать в панд. (К вашему сведению, существует более 10 различных флагов и тысячи строк)

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

1. пожалуйста, приведите немного больший пример с другими флагами

Ответ №1:

Вы можете разделить данные на основе значений столбцов:

 # Get your DataFrame - however you want to  # Split into you two identifiers vet_flag = df[df["Veteran_flag"] == True] no_vet_flag = df[df["Veteran_flag"] == False]  # Sum total in each column total_dollars_vet = vet_flag["Dollars_obligated"].sum() total_dollars_no_vet = vet_flag["Dollars_oblidated"].sum()  # Graph using matplotlib : https://www.tutorialspoint.com/matplotlib/matplotlib_bar_plot.htm import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_axes([0,0,1,1]) types = ['Veteran flag', 'Non-veteran Flag'] values = [total_dollars_vet, total_dollars_no_vet] ax.bar(types, values) plt.show()  

Не то чтобы вы могли приспособить это для использования woman_owned_flag там, где это необходимо. В примере они (ветеринар и женщина) выглядят совершенно противоположно, поэтому неясно, как вы хотите, чтобы он был отформатирован, но это должно работать в разумных пределах, независимо от этого.

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

1. Спасибо Ламе Ларри. Я думаю, что это именно то, что я ищу. Собираюсь попробовать это и посмотреть, сработает ли это. Вероятно, мне придется написать цикл for, чтобы сделать это для каждого флага. В моем наборе данных есть флаг для каждой демографической группы (например, black_owned, hispanic_owned, asian_owned и т. Д.).