更改Pandas中的dataframe列数据类型

2024-09-30 04:33:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用df.columns获取数据帧的头并存储到列表中。A是dataframe的标头值列表

A=list(df.columns)

但是列表中的每个元素都是string dtype,并且我的标题在标题示例下面也有int值:

A=['ABC','1345','Acv-1234']

但是我想让'1345'列为intdtype,而不是string, 像这样

A=['ABC',1345,'Acv-1234']

有人能提出一个解决这个问题的方法吗


Tags: columns元素标题示例dataframedf列表string
2条回答

在将df.columns分配到列表a之前,我怀疑'1345'已经是df.columns中的一个字符串。为了分配列类型,必须搜索df的源以及列的分配方式

但是,您可以随时使用以下工具更改df.coluns:

df.columns=['ABC', 1345 ,'Acv-1234']

一种简单的方法是遍历列并检查列名(string type)是否只包含数字 (str.isdecimal())将其转换为int,否则将其保留为字符串

一行:

A = [int(x) if x.isdecimal() else x for x in df.columns ]

相关问题 更多 >

    热门问题