python - 如何创建一个将 pandas 列传递给其中的函数?

标签 python pandas

我正在导入一个如下所示的 csv。可能的值为 $ 和 net

Type1,Type2,Type3 $,, $,net, net,$,$

我目前将它放在 pandas 数据框中,想知道如何将 $ 和 net 映射到不同的值。

我想将 $ -> DEPOSIT 和 net 映射到 -> NET DEP

我正在将列传递给函数

def directDeposit(var):
    for value in var: 
        var.astype(str)
        if value == '$':
            var = value.map({'$':'DEPOSIT'})

df['type1'] = directDeposit(df['type1'])`

因为 csv 中有三种可能的类型,所以我希望能够将我正在测试的类型传递到函数中,以便我可以对所有 3 个类型重复它。我不太确定从这里该去哪里。

最佳答案

你可以这样做:

df['type1'] = df['type1'].map({'net': 'NET DEP', '$': 'DEPOSIT', '': "No value assigned"})

当您创建一个将 Pandas Series 作为输入的函数时,您不必对其进行循环。 Pandas 会为你做到这一点。

关于python - 如何创建一个将 pandas 列传递给其中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59936334/

相关文章:

python - 如何将每个单词转换为数字?

python - 如何从 pandas DataFrame 生成 n 级分层 JSON?

pandas to_sql 与 Exasol

python - 用平均值替换每行的最大值

python - PySide:如果隐藏了一个小部件,调整主窗口大小的最佳方法是什么?

python - 查找一定范围内有间隙的子列表

python - 检查变化的数字是否低于或高于上次的数字

python - 在 Raspbian Buster 上将 Python 3.7 降级到 3.5

python - 如何在 Python 中获取列表并填充值并放入数据框和过滤器中?

python - Aggfunc 的 Pandas 数据透视表列表