Найти тему
9848 подписчиков

📃 Генерация отчетов графовой аналитики в формате PDF с помощью Python


Создание отчетов графовой аналитики является важной частью работы многих проектов и бизнес-процессов.
Однако, процесс создания и настройки таких отчетов может быть сложным и требовать больших усилий.

Рассмотрим, как использование языка программирования Python и его библиотек может значительно упростить генерацию отчетов графовой аналитики в формате PDF.

Для работы с PDF в Python есть множество библиотек, самые популярные из них: PyPDF2, ReportLab, FPDF.

Сравнение основных библиотек: в изображении.

По совокупным критериям для дальнейшего разбора мной была выбрана библиотека ReportLab.

Одной из самых популярных библиотек для работы с графами в Python является NetworkX. Она предоставляет широкий набор инструментов для создания и анализа графов. Ее и буду использовать для создания графа и анализа данных.

В посте приведен код, необходимый для воспроизведения. Полный код доступен по ссылке.

Данные сгенерирую с помощью Python.
Пусть будет 500 операций, где будет информация об отправителе, получателе, сумме операции и флаг подозрительности операции.

df_dict = {}
count_operation = 500
for i in range(count_operation):
df_dict[i] = {'reciver' : random.randint(1, count_operation/2),
'sender': random.randint(1, count_operation/2),
'sum_oper': random.randint(1000, 1000000),
'suspisios_transaction': random.randint(0, 1)}

Добавлю 100 переводов, где получателем будет клиент 1, а отправителем- любой другой клиент из основного датасета:

for i in range(100):
df_dict[i] = {'reciver' : 1,
'sender': random.randint(1, count_operation/2),
'sum_oper': random.randint(1000, 1000000),
'suspisios_transaction': random.randint(0, 1)}
df = pd.DataFrame().from_dict(df_dict).T

Получится вот такой датасет:

📃 Генерация отчетов графовой аналитики в формате PDF с помощью Python  Создание отчетов графовой аналитики является важной частью работы многих проектов и бизнес-процессов.
1 минута