如何创建将熊猫列传递到其中的函数?

时间:2020-01-27 17:46:21

标签: python pandas

我正在导入一个看起来像这样的csv。可能的值为$和net

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

我目前在熊猫数据框中使用它,并且想知道如何将$和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种可能的类型,所以我希望能够将正在测试的类型传递给函数,以便我可以对所有3种类型都进行重复。我不确定从何而来。

2 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

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

当您创建一个以Pandas系列作为输入的函数时,您不必在其上循环。熊猫会为您做到这一点。

答案 1 :(得分:1)

您可以使用replace方法:

df.replace({'$': 'DEPOSIT', 'net': 'NET DEP'})