将对象数据类型转换为python中的数字和分类

时间:2019-09-23 19:34:43

标签: python pandas

所以我有一个csv,其中包含不同数据类型的列。但是,当我将其读入熊猫时,它会将所有内容显示为对象数据类型。

如何将列转换为原始的数字和分类特征?

2 个答案:

答案 0 :(得分:0)

您可以做几件事:现在,这里有一些示例:

df = pd.DataFrame({"A": ["a", "b", "c", "a"], "B": ['1','4', '5', '8']})
df["C"] = df["A"].astype('category')
df["D"] = df["B"].astype('int')

输出:

    A   B   C   D
0   a   1   a   1
1   b   4   b   4
2   c   5   c   5
3   a   8   a   8

df.dtypes

A      object
B      object
C    category
D       int32
dtype: object

答案 1 :(得分:0)

data = data.convert_objects(convert_numeric = True)

这会将数字特征转换为浮点数,并让分类变量保留为对象,我后来对其进行了标签编码以馈入模型。

我受到限制,不能共享代码或数据,但我已将其样本作为参考。

img of a sample code notebook

请注意该数据的第一行具有该列的数据类型。我已经删除了第一行以备后用。