Pandas查询按唯一列值和aggreg选择元组

2024-09-27 19:21:02 发布

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

我有两个专栏在熊猫df,我想操作。首先,我想从“score”列中删除非数字值,如“High”,并将其余值转换为int(所有数据都作为字符串输入)。下一步,我想根据唯一的“测量值”求和“得分”。我如何执行这两个功能?在

df是:

nationwide_measures = pd.read_sql_query("""select state,
          measure_id,
          measure_name,
          score
from timely_and_effective_care___hospital;""", conn)

我失败的尝试是:

^{pr2}$

Tags: 数据字符串功能dfreadsql数字int
2条回答

您可以选择得分值为数字的所有全国性的度量值行,我希望它们是字符串格式,因此将它们转换为int,然后使用groupby根据measure_id汇总得分

nationwide_measures1 = nationwide_measures[nationwide_measures['score'].str.isalpha() != True]
nationwide_measures1['score'] = pd.to_numeric(nationwide_measures1['score'])
score_sum = nationwide_measures1.groupby('measure_id')['score'].sum()

希望这有帮助 更新:如果你想要sum,mean,min,max,std,你可以使用.agg即

^{pr2}$

删除带有非数字分数值的元组的答案是:

nationwide_measures1 = nationwide_measures[nationwide_measures['score'].astype(str).str.isdigit()]

我在这里找到的: Pandas select only numeric or integer field from dataframe

相关问题 更多 >

    热门问题