我正在导入一个看起来像这样的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种类型都进行重复。我不确定从何而来。
答案 0 :(得分:1)
您可以执行以下操作:
df['type1'] = df['type1'].map({'net': 'NET DEP', '$': 'DEPOSIT', '': "No value assigned"})
当您创建一个以Pandas系列作为输入的函数时,您不必在其上循环。熊猫会为您做到这一点。
答案 1 :(得分:1)
您可以使用replace方法:
df.replace({'$': 'DEPOSIT', 'net': 'NET DEP'})