所以我有一个函数 replaceMonth(string),它只是一系列 if 语句,返回从 pandas 数据框中的列派生的字符串。然后我需要用派生的字符串替换原始字符串。
数据框定义如下:
Index ID Year DSFS DrugCount
0 111111 Y1 3- 4 months 1
数据框中大约有 8 万行。我需要做的是用 replaceMonth(string) 函数的结果替换 DSFS 列中的内容。
因此,例如,如果 DSFS 第一行中的值为“3-4 个月”,如果我通过 replaceMonth() 运行该字符串,它将给我“_3_4”作为返回值。然后我需要将数据框中的值从“3-4 个月”更改为“_3_4”。
我一直在尝试在数据帧上使用 apply 但我要么语法错误要么不理解它在做什么,就像这样:
dataframe['DSFS'].apply(replaceMonth(dataframe['DSFS']))
这对我来说不合适,但我不确定我在哪里搞砸了。我是 Python 的新手,所以它可能是语法。 :)
非常感谢任何帮助!
最佳答案
当您apply
时,您传递了您想要应用于每个元素的函数。
尝试
dataframe['DSFS'].apply(replaceMonth)
重新分配给数据框以保留更改
dataframe['DSFS'] = dataframe['DSFS'].apply(replaceMonth)
关于python - 将函数应用于 Pandas 数据框中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43163539/