Untitled
unknown
plain_text
2 years ago
2.6 kB
13
Indexable
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 81318 entries, 0 to 81317
Data columns (total 10 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 transaction_date 81318 non-null datetime64[ns]
1 agent_inn_dil 81318 non-null float64
2 client_inn_dil 81318 non-null object
3 client_name_dil 81318 non-null object
4 client_name_GZPN 81318 non-null object
5 total_monthly_ton_dil 81318 non-null float64
6 MO_dealer_monthly_ton_GZPN 81318 non-null float64
7 KP_dealer_monthly_ton_GZPN 81318 non-null float64
8 okved_client 81318 non-null object
9 label 81318 non-null object
dtypes: datetime64[ns](1), float64(4), object(5)
memory usage: 6.2+ MB
from plotly.offline import download
import plotly.graph_objs as go
from plotly.offline import iplot
# Группируем данные по дате транзакции для суммарного объема в тоннах
total_tons_by_date = df.groupby('transaction_date')['total_monthly_ton_dil'].sum()
# Группируем данные по дате транзакции для подсчета уникальных client_inn_dil
unique_clients_by_date = df.groupby('transaction_date')['client_inn_dil'].nunique()
# Объединяем обе серии в один DataFrame
years_df = pd.DataFrame({
'total_monthly_ton_dil': total_tons_by_date,
'unique_client_inn_dil': unique_clients_by_date
}).reset_index()
# Создаем трассировки для визуализации данных
trace0 = go.Scatter(
x = years_df['transaction_date'],
y = years_df['total_monthly_ton_dil'],
name = 'Total Monthly Litres',
yaxis = 'y1'
)
trace1 = go.Scatter(
x = years_df['transaction_date'],
y = years_df['unique_client_inn_dil'],
name = 'Unique Client INNs',
yaxis = 'y2'
)
# Настройка макета графика
layout = go.Layout(
title='Статистика по дилерами',
yaxis=dict(title='Месячный дилерский объем'),
yaxis2=dict(title='Число уникальных клиентов', overlaying='y', side='right')
)
# Создаем объект Figure и визуализируем его
fig = go.Figure(data=[trace0, trace1], layout=layout)
iplot(fig)
Editor is loading...
Leave a Comment