如何在python中迭代数据帧的每一行时对列应用条件

2024-05-15 04:58:10 发布

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

Link of the data sets of csv file

链接包含.csv文件,其中一列是状态名称和牙齿丢失数量。我想计算每个州儿童的平均牙齿脱落量。我试图使用df.interrows,但无法对任何特定行的列值使用条件

for row in df.iterrows():
    if row["State"] == "NSW":
        Count += row["Number of teeth lost"]

若新南威尔士州包含3个值2,3,4,那个么我需要计算这三个数的平均值,以及其他六个州的平均值。我使用熊猫来操纵csv文件


Tags: 文件ofcsvthe名称dfdata链接
1条回答
网友
1楼 · 发布于 2024-05-15 04:58:10

尝试使用df.loc[df['State'] == "NSW"]['Number of tooth lost'].mean()

它选择.loc括号内条件为真的所有行,然后只选择列“牙齿丢失数”来计算平均值

这比像您那样迭代所有行要快得多,因为pandas在较低的级别上处理操作

相关问题 更多 >

    热门问题