我得到了一个愚蠢的csv,里面有20000行数据,只涉及到300个案例,所以我想尝试以一种更有意义的方式来分组,所以我现在有了一个包含300个案例的文本文件,下面是其中两个案例的示例:
[{“治疗”:[“”],“年份”:“2004”,“原因”:“故意/疑似自杀”,“病例号”:“9999”,“结果”:“轻微影响”,“症状”:[“嗜睡/嗜睡/相关”],“病例药物”:[{“物质”:“瑞沃替利”,“泊松指数描述”:“苯二氮卓”,“SubstanceFormula\u 20c”:“液体”,“SubstanceProductCode”:“999”,“常规经验”:“摄入”,“SubstanceGeneric\u AAPCC\u Code”:“999”},{“Substance”:“hydromephone X 15注射器6 MG EA”,“poissindex\u Desc”:“hydromephone”,“SubstanceFormula\u 20c”:“LIQUID”,“SubstanceProductCode”:“9999”,“RouteExp”:“INGEST”,“SubstanceGeneric\u AAPCC\u Code”:“9999”}],“Acuity”:“Acute”,“AgeGroup”:“90-99岁”,“SEX”:“zoidberg},
{“治疗”:[“单剂量活性炭”,“静脉输液”],“年份”:“2006”,“原因”:“无意/一般”,“病例编号”:“8888”,“结果”:“可能的最小临床效果”,“症状”:[”“],“病例药物”:[{“物质”:“洛哌丁胺2MG X 1/2”,“泊松指数描述”:“洛哌丁胺”,“SubstanceFormula\u 20c”:“固体(片剂/胶囊/胶囊)”,“SubstanceProductCode”:“88”,“RouteExp”:“摄入”,“SubstanceGeneric \u AAPCC \u Code”:“88”}],“Acuity”:“急性”,“年龄组”:“15岁”,“性别”:“F”}]
像“Year”这样的值对于每个案例只有1个值“症状”有一个值列表,“病例药物”有一个目录列表。这种格式对我来说很有意义,因为一个人可以有多种药物,而且每种药物都有多个相关属性。我真的不想平展数据,因为像drug变量这样的变量实际上没有最大的条目数,所以有可能如果我有“drug1,drug2,drug3”,那么下次我得到数据时,我必须添加一个“drug4”。你知道吗
目前,我可以加载熊猫文件和分析它的大部分。对于列表值,我遇到了另一个堆栈交换帖子,它建议我可以使用:
df['Symptoms'].apply(lambda x: pd.Series(x).value_counts()).sum()
这很管用。我相信我能想出如何用类似的方法做其他分析。我仍然不确定我将如何着手分析这个案例。我可以创建自己的函数来循环并读取数据,但我想知道pandas中是否有现有的功能可以做到这一点。例如,如果我想计算“case\u drugs”变量的“substance”值中出现“RIVOTRIL”的次数,该怎么办?你知道吗
或者如果你认为我最好用另一种方式存储数据,那也是可以接受的答案!你知道吗
谢谢
对于
case_drugs
变量,一种方法是为它创建另一个数据帧。你知道吗更新: 创建包含
case_drugs
中所有项的数据帧。你知道吗我首先将
case_drugs
中的dict列表拆分(分解)到它自己的行,并使用CaseNumber
作为索引。你知道吗这将为您提供一个数据帧,在名为0的列中,每行有一个dict。(您可以重命名该列,但我们不会保留此列,因此这并不重要。)
然后将dict转换成数据帧。你知道吗
计数值:
相关问题 更多 >
编程相关推荐