首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用相同的边比较不同的histogram2d绑定

使用相同的边比较不同的histogram2d绑定
EN

Stack Overflow用户
提问于 2022-03-04 11:55:41
回答 1查看 28关注 0票数 0

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

代码语言:javascript
复制
tsne_results_x  tsne_results_y  team_id
0   -22.796648  -26.514051  107
1   11.985229   40.674446   107
2   -28.231720  -49.302216  107
3   31.942875   -14.427114  107
4   -46.436501  -7.750005   107
76  24.252718   -20.551889  8071
77  2.362172    17.170067   8071
78  7.212677    -9.056982   8071
79  -5.865472   -32.999077  8071

我想要存放tsne_results_xtsne_results_y列,为此我使用numpy函数histogram2d

代码语言:javascript
复制
grid, xe, ye = np.histogram2d(df['tsne_results_x'], df['tsne_results_y'], bins=15)
gridx = np.linspace(min(df['tsne_results_x']),max(df['tsne_results_x']),15)
gridy = np.linspace(min(df['tsne_results_y']),max(df['tsne_results_y']),15)

plt.figure()
#plt.plot(x, y, 'ro')
plt.grid(True)

#plt.figure()
plt.pcolormesh(gridx, gridy, grid)
plt.colorbar()

plt.show()

但是,正如您所看到的,我在数据框架中有几个team_id,我希望将一个团队的单个回收箱与整个数据框架进行比较。例如,对于一个团队,在一个特定的容器中,我希望将其除以包含所有团队的总数。

因此,我认为在一个特定的团队数据集上运行histogram2d,对整个数据集使用相同的行空间就可以做到这一点。没有,因为histogram2d将以不同的方式存储one_team_df,因为数据的范围不同。

代码语言:javascript
复制
one_team_df = df.loc[(df['team_id'] == str(299))]

grid_team, a, b = np.histogram2d(one_team_df['tsne_results_x'], one_team_df['tsne_results_y'], bins=15)



gridx = np.linspace(min(df['tsne_results_x']),max(df['tsne_results_x']),15)
gridy = np.linspace(min(df['tsne_results_y']),max(df['tsne_results_y']),15)

plt.figure()
#plt.plot(x, y, 'ro')
plt.grid(True)

#plt.figure()
plt.pcolormesh(gridx, gridy, grid_team)
#plt.plot(x, y, 'ro')
plt.colorbar()

plt.show()

我想知道如何使这两种表述具有可比性。是否有可能运行histogram2d给出xedgesyedges?通过这种方式,我可以使用整个二进制化的边缘来对一个团队进行定位。

问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-04 12:01:04

np.histomgram2d文档

binsint或array_like或int,int或数组,数组,可选bin规范:如果int,则为二维(nx=ny=bins)的回收箱数。如果为array_like,则为二维(x_edges=y_edges=bins)的bin边。如果int,int,则表示每个维度中的回收箱数(nx,ny = bins)。如果数组,数组,则每个维度中的bin边缘(x_edges,y_edges = bins)。一个组合的int,数组或数组,int,其中int是回收箱的数目,数组是bin边。

这意味着您可以指定您想要的回收箱。例如:

代码语言:javascript
复制
grid_team, a, b = np.histogram2d(
    one_team_df['tsne_results_x'], one_team_df['tsne_results_y'], 
    bins=[np.linspace(-40,40,15), np.linspace(-40,40,15)]
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71351047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档