因此,我有一个函数replaceMonth( string ),它只是一系列if语句,返回从熊猫数据文件中的列派生出来的字符串。然后,我需要用派生字符串替换原来的字符串。
dataframe的定义如下:
Index ID Year DSFS DrugCount
0 111111 Y1 3- 4 months 1
在dataframe中大约有80K行。我需要做的是用replaceMonth(string)函数的结果替换列DSFS中的内容。
因此,例如,如果DSFS的第一行中的值是'3-4个月‘,如果我通过replaceMonth()运行该字符串,它将给出'_3_4’作为返回值。然后,我需要将dataframe中的值从‘3-4个月’更改为'_3_4‘。
我一直试图在dataframe上使用apply,但要么语法错误,要么不理解它正确地做了什么,如下所示:
dataframe['DSFS'].apply(replaceMonth(dataframe['DSFS']))
这对我来说不太对劲,但我不知道我在哪里搞砸了。我对Python相当陌生,所以可能是语法问题。:)
任何帮助都是非常感谢的!
发布于 2017-04-02 01:10:02
当您使用apply
时,可以传递要应用于每个元素的函数。
试一试
dataframe['DSFS'].apply(replaceMonth)
重新分配到dataframe以保留更改。
dataframe['DSFS'] = dataframe['DSFS'].apply(replaceMonth)
https://stackoverflow.com/questions/43163539
复制相似问题