gpt4 book ai didi

python - 从 Pandas 数据框中按名称绘制正态分布图

转载 作者:行者123 更新时间:2023-12-04 22:19:05 25 4
gpt4 key购买 nike

我有一个如下所示的数据框:

dateTime        Name    DateTime        day seconds zscore
11/1/2016 15:17 james 11/1/2016 15:17 Tue 55020 1.158266091
11/1/2016 13:41 james 11/1/2016 13:41 Tue 49260 -0.836236954
11/1/2016 15:17 james 11/1/2016 15:17 Tue 55020 1.158266091
11/1/2016 15:17 james 11/1/2016 15:17 Tue 55020 1.158266091
11/1/2016 15:17 james 11/1/2016 15:17 Tue 55020 1.158266091
11/1/2016 15:17 james 11/1/2016 15:17 Tue 55020 1.158266091
11/1/2016 15:17 james 11/1/2016 15:17 Tue 55020 1.158266091
11/1/2016 15:17 james 11/1/2016 15:17 Tue 55020 1.158266091
11/1/2016 15:17 james 11/1/2016 15:17 Tue 55020 1.158266091
11/1/2016 15:17 james 11/1/2016 15:17 Tue 55020 1.158266091
11/1/2016 15:17 james 11/1/2016 15:17 Tue 55020 1.158266091
11/1/2016 13:41 james 11/1/2016 13:41 Tue 49260 -0.836236954
11/1/2016 13:41 james 11/1/2016 13:41 Tue 49260 -0.836236954
11/1/2016 13:41 james 11/1/2016 13:41 Tue 49260 -0.836236954
11/1/2016 13:41 james 11/1/2016 13:41 Tue 49260 -0.836236954
11/1/2016 13:41 james 11/1/2016 13:41 Tue 49260 -0.836236954
11/1/2016 13:41 james 11/1/2016 13:41 Tue 49260 -0.836236954
11/1/2016 13:41 james 11/1/2016 13:41 Tue 49260 -0.836236954
11/1/2016 13:42 james 11/1/2016 13:42 Tue 49320 -0.81546088
11/1/2016 13:42 james 11/1/2016 13:42 Tue 49320 -0.81546088
11/1/2016 13:42 james 11/1/2016 13:42 Tue 49320 -0.81546088
11/1/2016 13:42 james 11/1/2016 13:42 Tue 49320 -0.81546088
11/1/2016 13:42 james 11/1/2016 13:42 Tue 49320 -0.81546088
11/1/2016 13:42 james 11/1/2016 13:42 Tue 49320 -0.81546088
11/1/2016 9:07 matt 11/1/2016 9:07 Tue 32820 -0.223746683
11/1/2016 9:07 matt 11/1/2016 9:07 Tue 32820 -0.223746683
11/1/2016 9:07 matt 11/1/2016 9:07 Tue 32820 -0.223746683
11/1/2016 9:07 matt 11/1/2016 9:07 Tue 32820 -0.223746683
11/1/2016 9:07 matt 11/1/2016 9:07 Tue 32820 -0.223746683
11/1/2016 9:07 matt 11/1/2016 9:07 Tue 32820 -0.223746683
11/1/2016 9:07 matt 11/1/2016 9:07 Tue 32820 -0.223746683
11/1/2016 9:07 matt 11/1/2016 9:07 Tue 32820 -0.223746683
11/1/2016 9:07 matt 11/1/2016 9:07 Tue 32820 -0.223746683
11/1/2016 9:07 matt 11/1/2016 9:07 Tue 32820 -0.223746683
11/1/2016 9:07 matt 11/1/2016 9:07 Tue 32820 -0.223746683
11/1/2016 9:07 matt 11/1/2016 9:07 Tue 32820 -0.223746683
11/1/2016 9:07 matt 11/1/2016 9:07 Tue 32820 -0.223746683
11/1/2016 9:07 matt 11/1/2016 9:07 Tue 32820 -0.223746683
11/1/2016 9:07 matt 11/1/2016 9:07 Tue 32820 -0.223746683
11/1/2016 9:07 matt 11/1/2016 9:07 Tue 32820 -0.223746683
11/1/2016 9:07 matt 11/1/2016 9:07 Tue 32820 -0.223746683
11/1/2016 9:07 matt 11/1/2016 9:07 Tue 32820 -0.223746683
11/1/2016 9:07 matt 11/1/2016 9:07 Tue 32820 -0.223746683
11/1/2016 9:08 matt 11/1/2016 9:08 Tue 32880 -0.111873342
11/1/2016 9:48 matt 11/1/2016 9:48 Tue 35280 4.363060322

zscore 计算如下:
grp2 = df.groupby(['Name'])['seconds']
df['zscore'] = grp2.transform(lambda x: (x - x.mean()) / x.std(ddof=1))

我想在钟形曲线/正态分布图中绘制我的数据,并将其保存为数据框中每个名称的图片/pdf文件。

我试图绘制如下 zscores:
df['by_name'].plot(kind='hist', normed=True)
range = np.arange(-7, 7, 0.001)
plt.plot(range, norm.pdf(range,0,1))
plt.show()

我将如何为数据中的每个名称绘制 by_name zscores 列?

最佳答案

np.random.seed([3,1415])
df = pd.DataFrame(dict(
Name='matt joe adam farley'.split() * 100,
Seconds=np.random.randint(4000, 5000, 400)
))

df['Zscore'] = df.groupby('Name').Seconds.apply(lambda x: x.div(x.mean()))

df.groupby('Name').Zscore.plot.kde()

enter image description here

拆分图
g = df.groupby('Name').Zscore
n = g.ngroups
fig, axes = plt.subplots(n // 2, 2, figsize=(6, 6), sharex=True, sharey=True)
for i, (name, group) in enumerate(g):
r, c = i // 2, i % 2
group.plot.kde(title=name, ax=axes[r, c])
fig.tight_layout()

enter image description here

kde + hist
g = df.groupby('Name').Zscore
n = g.ngroups
fig, axes = plt.subplots(n // 2, 2, figsize=(6, 6), sharex=True, sharey=True)
for i, (name, group) in enumerate(g):
r, c = i // 2, i % 2
a1 = axes[r, c]
a2 = a1.twinx()
group.plot.hist(ax=a2, alpha=.3)
group.plot.kde(title=name, ax=a1, c='r')
fig.tight_layout()

enter image description here

关于python - 从 Pandas 数据框中按名称绘制正态分布图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41768629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com