所以我有一个函数replaceMonth(string),它只是一系列if语句,它返回从pandas数据帧中的列派生的字符串。然后我需要用派生的字符串替换原始字符串。
数据框的定义如下:
key={cityName + i}
数据框中有大约80K行。我需要做的是使用replaceMonth(string)函数的结果替换DSFS列中的内容。
因此,例如,如果DSFS的第一行中的值为3-4个月,如果我通过replaceMonth()运行该字符串,则会给我' _3_4&#39 ;作为返回值。然后我需要更改数据框中的值,从“3-4个月”开始。到' _3_4'。
我一直试图在数据框架上使用apply,但我要么弄错了语法,要么不理解它正确地做了什么,如下所示:
Index ID Year DSFS DrugCount
0 111111 Y1 3- 4 months 1
这对我来说并不合适,但我不知道我在哪里弄乱它。我对Python很新,所以它可能是语法。 :)
非常感谢任何帮助!
答案 0 :(得分:4)
当您apply
传递要应用于每个元素的函数时。
尝试
dataframe['DSFS'].apply(replaceMonth)
重新分配到数据框以保留更改
dataframe['DSFS'] = dataframe['DSFS'].apply(replaceMonth)