如何转换数据框中的所有浮点列,但第一列除外?

Posted

技术标签:

【中文标题】如何转换数据框中的所有浮点列,但第一列除外?【英文标题】:How to convert all float columns in dataframe but except the first column? 【发布时间】:2020-01-11 17:37:14 【问题描述】:

我已经搜索过但没有找到我需要的东西。我有一个有 50 列的数据框。第一个是日期数据类型,其余的是浮点数据类型。

现在我只想将浮点列转换为整数,而不是日期列。 有人可以指导吗?

当我像 df_sub1=df_sub.iloc[:, 1:].apply(np.int64) 这样对 df 进行切片,然后将其与日期列连接起来时,它会使我的笔记本电脑崩溃,因此无法工作。希望有更好的办法。

【问题讨论】:

Convert floats to ints in Pandas?的可能重复 【参考方案1】:

假设日期是您的第一列

import pandas as pd

cols = df.columns
df[cols[1:]] = df[cols[1:]].apply(pd.to_numeric, errors='coerce')

【讨论】:

【参考方案2】:

你可以这样做。

new_df = df.drop(nameoffirstcolumn,1)
new_df.apply(np.int64)

然后你可以做类似的事情。

final_df = pd.concat([df1['nameoffirstcolumn'],new_df], axis=1)

【讨论】:

以上是关于如何转换数据框中的所有浮点列,但第一列除外?的主要内容,如果未能解决你的问题,请参考以下文章

如何将列表项附加到数据框中的特定列?

使用条件从索引 1 开始替换数据框中的所有列

将当前工作簿中的所有工作表复制到新工作簿,但第一张工作表除外

python pandas中如何将dataframe中的一列字符串类型转换为浮点类型?

如何在熊猫数据框中的所有列中搜索模式,并在找到时将其复制到另一列

将字符串的所有字母字符转换为熊猫数据框中单独列中的整数