我正在嘗試分析不同糖尿病診斷與健康個體的高血壓發病率。我得到的輸出是這樣的:
0 0.371132
8 0.752674
64 0.629022
我需要的輸出是這個
Diabetes_012 average HBP occurence
0 0.371132
2 0.752674
1 0.629022
其中輸出指標是糖尿病型別,值是糖尿病的平均發生率。
這是完整的代碼
import csv
import pandas as pd
import seaborn as sns
df = pd.read_csv ('diabetes_012_health_indicators_BRFSS2015.csv')
df2=df.copy
pd.set_option('display.max_columns', None)
df
import matplotlib.pyplot as plt
grouped=df.groupby(['Diabetes_012'])['HighBP'].transform('mean').drop_duplicates()
print(grouped)
這是資料集的鏈接:https ://www.kaggle.com/datasets/alexteboul/diabetes-health-indicators-dataset
uj5u.com熱心網友回復:
不要使用.transform,只需抓住要執行平均值的列(或列):
In [3]: df.groupby("Diabetes_012")[["HighBP"]].mean()
Out[3]:
HighBP
Diabetes_012
0.0 0.371132
1.0 0.629022
2.0 0.752674
多列示例:
In [4]: df.groupby("Diabetes_012")[["HighBP", "BMI"]].mean()
Out[4]:
HighBP BMI
Diabetes_012
0.0 0.371132 27.742521
1.0 0.629022 30.724466
2.0 0.752674 31.944011
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/464367.html
上一篇:Pandas:如何根據前一行中的字串選擇行-應該是一個簡單的解決方案
下一篇:在單個資料框中組合行
