gpt4 book ai didi

python - 使用 Panda 库将非数字值转换为数值

转载 作者:太空宇宙 更新时间:2023-11-03 14:58:53 24 4
gpt4 key购买 nike

我正在学习 Pandas,我遇到了一个有趣的问题。所以我有一个像这样的数据框:

COL1    COL2      COL3
a 9/8/2016 2
b 12/4/2016 23
...
n 1/1/2015 21

COL1 是字符串,Col2 是时间戳,Col3 是数字。现在我需要对此 Dataframe 进行一些分析,我想将所有非数字数据转换为数字数据。我尝试使用 DictVectorizer()将 COL1 和 2 转换为数字,但首先我不确定这是否是做这种事情的最佳方式,其次我不知道如何处理时间戳。当我使用 DictVectorizer 时,输出如下:

{u'COL3: {0:2, 1:23 , ...,n:21}, 'COL1': {0: u'a', 1:'b', ... , n:'n'}, 'COL2': {0: u'9/8/2016' , 1: u'12/4/2016' , ... , n:u'1/1/2016'}}

但据我所知,它应该是这样的,或者至少我知道我需要这样的东西:

 {COL1:'a', COL2: '9/8/2016' , COL3: 2  and so on}   

所以,问题:1-将非数字(包括日期)转换为数值以在 sklearn 库中使用的最佳方法是什么2- 使用 DictVectorize() 的正确方法是什么

如有任何帮助,我们将不胜感激。

最佳答案

要将非数字数据编码为数字,您可以使用 scikit-learn 的 LabelEncoder .它将COL1的abc等每个类别编码为整数。

假设 df 是您的数据框,请尝试:

from sklearn.preprocessing import LabelEncoder
enc = LabelEncoder()
enc.fit(df['COL1'])
df['COL1'] = enc.transform(df['col1'])
  • enc.fit() 创建相应的整数值。
  • enc.transform() 将编码应用于 df 值。

对于第二列,使用 Pandas to_datetime()函数应该可以解决问题,就像@quinn-weber 提到的那样,尝试:

df['COL2'] = pd.to_datetime(df['COL2'])

关于python - 使用 Panda 库将非数字值转换为数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40142686/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com