|
|
|
|
# -*- coding: gbk -*-
|
|
|
|
|
import pandas as pd
|
|
|
|
|
from pyecharts import options as opts
|
|
|
|
|
from pyecharts.charts import Pie, Bar, Timeline
|
|
|
|
|
|
|
|
|
|
df = pd.read_csv('changsha<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.csv', encoding='gbk')
|
|
|
|
|
|
|
|
|
|
df['<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'] = df['<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'].apply(lambda x: pd.to_datetime(x))
|
|
|
|
|
|
|
|
|
|
df['month'] = df['<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'].dt.month
|
|
|
|
|
df_agg = df.groupby(['month', '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>']).size().reset_index()
|
|
|
|
|
|
|
|
|
|
df_agg.columns = ['month', 'fengsu', 'count']
|
|
|
|
|
|
|
|
|
|
print(df_agg[df_agg['month'] == 1][['fengsu', 'count']] \
|
|
|
|
|
.sort_values(by='count', ascending=False).values.tolist())
|
|
|
|
|
|
|
|
|
|
#ʵ<><CAB5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>еĶ<D0B5><C4B6><EFBFBD>
|
|
|
|
|
timeline = Timeline()
|
|
|
|
|
#<23><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>:<3A><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1s <20><>λ<EFBFBD>ǣ<EFBFBD>ms(<28><><EFBFBD><EFBFBD>)
|
|
|
|
|
timeline.add_schema(play_interval=1000)
|
|
|
|
|
|
|
|
|
|
#ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>df_agg['month']<5D><><EFBFBD><EFBFBD>Ψһֵ
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for month in df_agg['month'].unique():
|
|
|
|
|
data = (
|
|
|
|
|
df_agg[df_agg['month'] == month][['fengsu', 'count']]
|
|
|
|
|
.sort_values(by='count', ascending=True)
|
|
|
|
|
.values.tolist()
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
bar = Bar()
|
|
|
|
|
# x<><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
bar.add_xaxis([x[0] for x in data])
|
|
|
|
|
# y<><79><EFBFBD>Ǹ<EFBFBD><C7B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>
|
|
|
|
|
bar.add_yaxis('<EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', [x[1] for x in data])
|
|
|
|
|
|
|
|
|
|
# <20><><EFBFBD><EFBFBD>״ͼ<D7B4><CDBC><EFBFBD>ŷ<EFBFBD>
|
|
|
|
|
bar.reversal_axis()
|
|
|
|
|
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ұ<EFBFBD>
|
|
|
|
|
bar.set_series_opts(label_opts=opts.LabelOpts(position='right'))
|
|
|
|
|
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
bar.set_global_opts(title_opts=opts.TitleOpts(title='<EFBFBD><EFBFBD>ɳ2023<EFBFBD><EFBFBD>ÿ<EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>仯'))
|
|
|
|
|
# <20><><EFBFBD><EFBFBD><EFBFBD>úõ<C3BA>bar<61><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ֲ<EFBFBD>ͼ<EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>ұ<EFBFBD>ǩѡ<C7A9><D1A1><EFBFBD>·<EFBFBD> <20><>ʽΪ<CABD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
timeline.add(bar, f'{month}<EFBFBD><EFBFBD>')
|
|
|
|
|
timeline.render('<EFBFBD><EFBFBD>ɳ<EFBFBD><EFBFBD><EFBFBD>ٷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD>ͼ.html')
|