Untitled

 avatar
unknown
plain_text
a year ago
2.6 kB
4
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