python - 将函数应用于 Pandas 数据框中的列

标签 python pandas

所以我有一个函数 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/

相关文章:

python - 从子流程中重新引发异常

python - 用 c++ 重写这个 python 函数似乎让它运行得慢了很多。这合理吗?

python - 查找列表中多个出现项目的索引

python - 使用 pandas 数据框填充 flet 数据表

python - 我想向 pandas 数据框添加新索引

python - 当单元格中的值是列表时,Pandas 数据框条件

Python创建一个子进程并且不等待

python - JIRA 标识符的正则表达式

python - 需要计算数据框中的负值

python - 如何在 pandas 数据框中选择系列,其中系列中的每个元素都满足标准?