Statistics with Python: Week2 Nhanes Assignment

这门课不知出于什么原因比较小众,如果有人在做,在week2的assignment中出现问题,希望我的回答可以帮到你。

这个作业的目的就是抓取nhanes(美国健康与营养检测)2015-2016的数据,然后计算平均数/中位数/方差/四分位距。第一次我抓取url后计算的结果有几项怎么都不对,我甚至都开始手动计算了。后来才知道是因为数据更新(真的很坑人),如果这个测试过不了后面拿不了结业证书。

后来我在github上获得了4年前的数据,用获取剪贴板的模式get了csv文件,就成了。需要的可以在我的资源里找。

复制excel粘贴成csv

import pandas as pd

# 从剪贴板读取数据
df = pd.read_clipboard()

# 保存为 CSV 文件(保存在当前工作目录)
csv_file_path = "nhanes.csv"

# 保存为 CSV 文件
df.to_csv(csv_file_path, index=False)

从url中导入数据

import pandas as pd
import requests
from io import BytesIO

# 替换为实际的 URL
url = "https://wwwn.cdc.gov/Nchs/Nhanes/2015-2016/BPX_I.xpt"

# 从 URL 下载文件
response = requests.get(url)
data = BytesIO(response.content)

# 使用 pandas 的 read_sas 函数读取 xpt 数据
df = pd.read_sas(data, format="xport")

# 显示数据框的前几行
print(df.head())

# 假设你的 DataFrame 包含 BPXSY2 列,并命名为 df
# 移除 BPXSY2 列中的缺失值
bp_data = df["BPXSY2"].dropna()

# 计算中位数
median_bp = bp_data.median()

# 打印结果
print(f"The median systolic blood pressure (BPXSY2) is: {round(median_bp, 1)}")

round(名称,1) 保留到小数点后1位

平均数:

Mean_bp=bp_data.mean()

Standard deviation:

std_bp = bp_data.std()

Interquartile Range:

q1 = bp_data.quantile(0.25)
q3 = bp_data.quantile(0.75)
iqr = q3 - q1

系列:

s.describe()

直方图调用:

sns.distplot(s)
sns.histplot(s)

答案:

在这里插入图片描述在这里插入图片描述

  • 16
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值