合并数据帧,生成系列

2024-04-27 05:31:26 发布

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

我与德克萨斯州医院出院数据集一起工作,我试图在4年的时间里确定前100名最常见的主要手术程序

要做到这一点,我需要经历每年的每个季度并计算程序,但当我尝试合并不同的季度时,结果是一个系列,而不是一个数据帧

top_procedures = None

for year in range(6, 10):
    for quarter in range(1, 5):
        quarter_data = pd.read_table(
            filepath_or_buffer="/path/to/texas/data/PUDF_base"
                               + str(quarter) + "q200" + str(year) + "_tab.txt",
        )

        quarter_data = quarter_data[quarter_data["THCIC_ID"] != 999999]
        quarter_data = quarter_data[quarter_data["THCIC_ID"] != 999998]

        quarter_procedures = quarter_data["PRINC_SURG_PROC_CODE"].value_counts()
        quarter_procedures = pd.DataFrame(
            {"PRINC_SURG_PROC_CODE": quarter_procedures.index, "count": quarter_procedures.values})

        top_procedures = quarter_procedures if (top_procedures is None) else \
            top_procedures.merge(
                right=quarter_procedures,
                how="outer",
                on="PRINC_SURG_PROC_CODE"
            ).set_index(
                ["PRINC_SURG_PROC_CODE"]
            ).sum(
                axis=1
            )

你能告诉我我做错了什么吗?从documentation看来它应该返回一个数据帧

干杯


Tags: 数据in程序nonefordatatopcode
1条回答
网友
1楼 · 发布于 2024-04-27 05:31:26

合并确实会返回一个数据帧,但在代码中,合并后将在axis=1(一行中的所有值)上求和,这将为您提供一个系列(因为所有列中的值将在最后一列中求和)

希望有帮助

相关问题 更多 >