[英]Python: How to find whether a specific number of items in a list are identical?
[英]Python: How to find the number of items in each point on scatterplot and produce list?
現在我有一個包含 1206 名參與者的數據集,他們每個人都認可了一定數量的創傷經歷和與創傷相關的一些症狀。
這是我的 dataframe 的一部分(完整的 dataframe 長 1206 行):
主題ID | PTSD_Symptom_Sum | PTSD_Trauma_Sum |
---|---|---|
1223 | 3 | 5 |
1224 | 4 | 2 |
1225 | 2 | 6 |
1226 | 0 | 3 |
我有兩個問題要解決:
我使用此代碼創建散點圖:
plt.scatter(PTSD['PTSD_Symptom_SUM'], PTSD['PTSD_Trauma_SUM'])
plt.title('Trauma Sum vs. Symptoms')
plt.xlabel('Symptoms')
plt.ylabel('Trauma Sum')
count_sum= PTSD['PTSD_SUM'].value_counts()
count_symptom_sum= PTSD['PTSD_symptom_SUM'].value_counts()
print(count_sum)
print(count_symptom_sum)
這產生了這個 output:
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
是否可以更改代碼以計算支持每對項目的人數(症狀編號和創傷編號)? 如果沒有,是否有任何功能可以讓我這樣做?
您可以使用每對'PTSD_SUM', 'PTSD_Symptom_SUM'
的計數創建一個新數據集:
counts = PTSD.groupby(by=['PTSD_symptom_SUM', 'PTSD_SUM']).size().to_frame('size').reset_index()
然后像這樣使用Seaborn :
import seaborn as sns
sns.scatterplot(data=counts, x="PTSD_symptom_SUM", y="PTSD_SUM", hue="size", size="size")
要獲得這樣的東西:
如果我理解正確,您的 dataframe 是:
SubjectID TraumaSum Symptoms
1 1 5
2 3 4
...
所以你只需要: dataset.groupby(by=['PTSD_SUM', 'PTSD_Symptom_SUM']).count()
此行將為您返回每個唯一值的計數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.