在coursera中使用python运行数据科学中的以下代码时出错

2024-05-18 23:40:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我运行以下问题代码时出错。 问题: 让我们探讨一下小时候母乳喂养与从医疗机构获得季节性流感疫苗之间的关系。返回我们知道的儿童在小时候接受母乳喂养和知道没有接受母乳喂养的儿童的流感疫苗平均数量的元组

此函数应以以下形式返回元组(使用正确的数字):

(2.5,0.1)

代码:

def average_influenza_doses():
    # YOUR CODE HERE
    # raise NotImplementedError()
    import pandas as pd
    import numpy as np
    df = pd.read_csv("assests/NISPUF17.csv", index_col=0)
   
    cbf_flu=df.loc[:,['CBF_01','P_NUMFLU']]
   
   
    cbf_flu1=cbf_flu[cbf_flu['CBF_01'] ==1].dropna()
    cbf_flu2=cbf_flu[cbf_flu['CBF_01'] ==2].dropna()
   
    flu1=cbf_flu1['P_NUMFLU'].values.copy()
    flu1[np.isnan(flu1)] = 0
    f1=np.sum(flu1)/len(flu1)
   
    flu2=cbf_flu2['P_NUMFLU'].values.copy()
    flu2[np.isnan(flu2)] = 0
    f2=np.sum(flu2)/len(flu2)
   
    aid =(f1,f2)
    return aid

assertlen(average_influenza_doses())==2,“在元组中返回两个值,第一个表示是,第二个表示否。”


Tags: 代码np儿童元组averagecbfflunumflu
3条回答

您的代码应该如下所示。不要使用.values,只需获取Pandas系列并对其应用聚合函数.sum()

import pandas as pd
import numpy as np
def average_influenza_doses():

    df = pd.read_csv("assets/NISPUF17.csv", index_col=0)

    cbf_flu = df[['CBF_01','P_NUMFLU']]


    cbf_flu1 = cbf_flu[cbf_flu['CBF_01'] == 1].dropna()
    cbf_flu2 = cbf_flu[cbf_flu['CBF_01'] == 2].dropna()

    flu1 = cbf_flu1['P_NUMFLU']
    f1 = flu1.sum() / flu1.size

    flu2 = cbf_flu2['P_NUMFLU']
    f2 = flu2.sum() / flu2.size

    print(f1, f2)
    return (f1,f2)

目录拼写错误:

错误:df=pd.read\u csv(“assests/NISPUF17.csv”,index\u col=0)

右:df=pd.read\u csv(“资产/NISPUF17.csv”,索引列=0)

我只是发现了这个错误

回答此问题的方法之一是:

键入以下代码以读取给定的数据集

import pandas as pd
df=pd.read_csv('assets/NISPUF17.csv',index_col=0)
df

主代码

def average_influenza_doses():
    # YOUR CODE HERE
    BF_Flu=df[df['CBF_01']==1]
    avg_BF=BF_Flu['P_NUMFLU'].mean()
    NBF_Flu=df[df['CBF_01']==2]
    avg_NBF=NBF_Flu['P_NUMFLU'].mean()
    tup=(avg_BF,avg_NBF)
    return tup
    raise NotImplementedError()

使用以下代码执行

average_influenza_doses()

使用已给出的以下代码进行检查

assert len(average_influenza_doses())==2, "Return two values in a tuple, the first for yes and the second for no."

[CBF_01]=1-母乳喂养

[CBF_01]=1-未接受母乳喂养

[p_NUMFLU]-受流感影响的儿童人数

相关问题 更多 >

    热门问题