Python:如何找到散点图上每个点的项目数并生成列表?

问题描述

现在我有一个包含 1206 名参与者的数据集,他们每个人都认可一定数量的创伤经历以及与创伤相关的一些症状。

这是我的数据帧的一部分(完整的数据帧长 1206 行):

主题ID PTSD_Symptom_Sum PTSD_Trauma_Sum
1223 3 5
1224 4 2
1225 2 6
1226 0 3

我有两个问题需要解决:

  1. 我能够创建散点图,但我无法从该图中判断每个数据点中有多少参与者。有没有什么简单的方法可以查看每个数据点中的受试者数量?

我使用此代码创建散点图:

plt.scatter(PTSD['PTSD_Symptom_SUM'],PTSD['PTSD_Trauma_SUM'])
plt.title('Trauma Sum vs. Symptoms')
plt.xlabel('Symptoms')
plt.ylabel('Trauma Sum')

Scatterplot of Trauma Sum by number of symptoms

  1. 我未能成功列出支持每对项目的人数(症状和创伤人数)。我能够运行此代码来创建每个类别中人数的计数: :
count_sum= PTSD['PTSD_SUM'].value_counts()
count_symptom_sum= PTSD['PTSD_symptom_SUM'].value_counts()

print(count_sum)
print(count_symptom_sum)

产生这个输出:

0    379
1    371
2    248
3    130
4     47
5     17
6     11
8      2
7      1
Name: PTSD_SUM,dtype: int64
0    437
1    418
2    247
3     74
4     23
5      4
6      3
Name: PTSD_symptom_SUM,dtype: int64

是否可以更改代码以计算支持每对项目的人数(症状编号和创伤编号)?如果没有,是否有任何功能可以让我这样做?

解决方法

您可以创建一个新数据集,其中包含每对 ... "properties": { "costCategory": { "$ref": "#/definitions/costCategory_type",} } 的计数:

'PTSD_SUM','PTSD_Symptom_SUM'

然后像这样使用 Seaborn

counts = PTSD.groupby(by=['PTSD_symptom_SUM','PTSD_SUM']).size().to_frame('size').reset_index()

要获得这样的东西:

enter image description here

,

如果我理解正确,您的数据框是:

SubjectID TraumaSum Symptoms
1         1         5
2         3         4
...

所以你只需要: dataset.groupby(by=['PTSD_SUM','PTSD_Symptom_SUM']).count()

此行将返回每个唯一值的计数

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...