我与德克萨斯州医院出院数据集一起工作,我试图在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看来它应该返回一个数据帧
干杯
丹
合并确实会返回一个数据帧,但在代码中,合并后将在axis=1(一行中的所有值)上求和,这将为您提供一个系列(因为所有列中的值将在最后一列中求和)
希望有帮助
相关问题 更多 >
编程相关推荐