Python 随时间变化的绘图类别百分比
我有一个带有日期时间索引和软件版本列的数据框:Python 随时间变化的绘图类别百分比,python,pandas,matplotlib,Python,Pandas,Matplotlib,我有一个带有日期时间索引和软件版本列的数据框: Date Version 2018-07-10 15:42:16 1.0 2018-07-10 16:38:18 1.0 2018-07-10 20:21:54 2.0 2018-07-11 08:28:56 1.0 2018-07-11 13:16:48 2.0 2018-07-13 15:25:56 2.0 我想画出我有多少独特的版本的时间(说每月)和这些版本是什么。我希
Date Version
2018-07-10 15:42:16 1.0
2018-07-10 16:38:18 1.0
2018-07-10 20:21:54 2.0
2018-07-11 08:28:56 1.0
2018-07-11 13:16:48 2.0
2018-07-13 15:25:56 2.0
我想画出我有多少独特的版本的时间(说每月)和这些版本是什么。我希望随着时间的推移绘制一个填充区域。在采用过程中,这些领域不断扩大,而在新版本推出时,这些领域则不断减少
可能是这样,但时间是横向的,版本是分组的
您可以执行以下操作:
df.groupby('Version').resample('M').nunique()
或:
尝试此操作,假设数据文件的格式如下所示:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
dateparse = lambda x: pd.datetime.strptime(x, '%Y-%m-%d %H:%M:%S')
data = pd.read_table(filename, parse_dates=['Date'], date_parser=dateparse) # your file name
data['month'] = data['Date'].dt.month.values; # can be year, etc.
Months = data.groupby('month')['Version'].nunique().index.values
nVersion = data.groupby('month')['Version'].nunique().values
plt.fill_between(Months,0,nVersion)
plt.show()
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
dateparse = lambda x: pd.datetime.strptime(x, '%Y-%m-%d %H:%M:%S')
data = pd.read_table(filename, parse_dates=['Date'], date_parser=dateparse) # your file name
data['month'] = data['Date'].dt.month.values; # can be year, etc.
Months = data.groupby('month')['Version'].nunique().index.values
nVersion = data.groupby('month')['Version'].nunique().values
plt.fill_between(Months,0,nVersion)
plt.show()