Python Pandas中数据类型转换方法的差异

时间:2018-09-11 15:41:41

标签: python pandas

我可以通过以下方式转换列的数据类型

选项1

df['column_name']=df.column_name.astype(str)

选项2

df['column_name']=df['column_name'].astype(str)

我的问题-选项1和2有什么区别?如果有,哪个更好?

1 个答案:

答案 0 :(得分:1)

让我们举个例子:

>>df

Row Labels col1 col2
abc12        1    2
def34        3    4
ghi56        5    5

现在是否按以下方式应用类型:

df['Row Labels']=df['Row Labels'].astype(str)

您可以看到,以上列Row Labels已通过以下方式转换为str:

df.applymap(type).eq(str).all()

但是,如果您尝试使用选项1:

df['Row Labels']= df.Row Labels.astype('str')

您将面对:

  

df ['Row Labels'] = df.Row Labels.astype('str')

                            ^
  

SyntaxError:语法无效

类似地,与df.col_name相比,df['col_name']的大多数操作无法正常工作

希望能回答您的问题。