如何在Pandas中制作dtype转换器功能?

时间:2016-09-14 05:59:57

标签: python pandas indexing dataframe casting

我想在pandas中创建函数并传递管道或应用方法,以避免递归赋值和练习。

这是我的示例数据框。

A
0 1
1 2
2 3
3 4

我定义了我的转换器函数,以传递管道方法。

def converter(df,cols,types):
df.cols=df.cols.astype(types)
return df

然后传递给管道方法。

df.pipe(converter,cols=df.A,types="str")

但它会导致错误。

  

AttributeError:'DataFrame'对象没有属性'cols'

如何避免此类错误?

1 个答案:

答案 0 :(得分:1)

您需要为选择列添加[]

df = pd.DataFrame({'A':[1,2,3,4]})

print (df)
   A
0  1
1  2
2  3
3  4

def converter(df,cols,types):
    df[cols]=df[cols].astype(types)
    return df

print (converter(df, 'A', float))    
     A
0  1.0
1  2.0
2  3.0
3  4.0