Python 如何创建一个将列传递给它的函数?
我正在导入一个如下所示的csv。可能的值为美元和净值Python 如何创建一个将列传递给它的函数?,python,pandas,Python,Pandas,我正在导入一个如下所示的csv。可能的值为美元和净值 Type1、Type2、Type3 $,, 元,净额, 净值,$,$ 我现在把它放在熊猫数据框中,我想知道如何将$net映射到不同的值 我想将$->存款和净额映射到->净折旧 我正在将列传递到函数中 def directDeposit(var): for value in var: var.astype(str) if value == '$': var = value.map
Type1、Type2、Type3
$,,
元,净额,
净值,$,$
我现在把它放在熊猫数据框中,我想知道如何将$net映射到不同的值
我想将$->存款和净额映射到->净折旧
我正在将列传递到函数中
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"})
当您创建一个以熊猫系列作为输入的函数时,您不必对其进行循环。熊猫会为你做的 您可以使用以下方法:
如果我使用一行代码,是否有一种方法允许空白仍然被传递,而不是默认为“netdep”,如果有空白,那么我得到这个值错误。ValueError:序列的真值不明确。使用a.empty、a.bool()、a.item()、a.any()或a.all()。查看我的新响应。应该可以。既然你喜欢使用map,那么它就是
df['type1'].map({'net':'net DEP','$':'dept'})。fillna(df['type1'])
df.replace({'$': 'DEPOSIT', 'net': 'NET DEP'})