亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 python 按文件類型繪制折線圖?

如何使用 python 按文件類型繪制折線圖?

翻閱古今 2023-01-04 10:21:12
我有一個數據框,我想繪制一個折線圖來及時顯示每個文件的大小。目前我只是在繪制 1 行。但是我怎樣才能繪制所有文件呢?我想我必須修改數據框的形狀。import pandas as pddf = pd.DataFrame({    'file_type': ['file'] * 1 +  ['file.png'] * 1 +  ['file.PNG'] * 1 + ['file.csv'] * 2,    'size': [11] * 5,    'created_at': ['2020-01-01 23:00:34'] *1 + ['2020-02-01 23:00:34'] * 2 + ['2020-03-01 23:00:34']*1 + ['2019-01-02 23:00:34']})df['created_at'] = pd.to_datetime(df['created_at']).dt.normalize()group1= df['file_type'].str.lower().str.extract(r'(\.\w+$)', expand=False).fillna('unknown')group2 = df['created_at'].dt.strftime('%Y-%m')df.groupby([group1, group2])['size'].sum().reset_index()import matplotlib.pyplot as pltimport seaborn as sns# Use seaborn style defaults and set the default figure sizesns.set(rc={'figure.figsize':(20, 4)})df['size'].plot(linewidth=0.5);
查看完整描述

2 回答

?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

您可以seaborn.lineplot使用hue:


import seaborn as sns

sns.lineplot(data=df, x='created_at', y='size', hue='file_name')

要為每種文件類型設置多行,請執行以下操作:


# do not reset index but unstack:

(df.groupby([group1, group2])['size'].sum()

   .unstack(level=0).plot(subplots=True)

)


查看完整回答
反對 回復 2023-01-04
?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

你可以像這樣簡單地做到這一點sns.lineplot()

import seaborn as sns


sns.set(style='darkgrid')

sns.lineplot(x='created_at', y='size', data=df)


查看完整回答
反對 回復 2023-01-04
  • 2 回答
  • 0 關注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號