python-使用Panda库将非数值转换为数值
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-使用Panda库将非数值转换为数值,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1252字,纯文字阅读大概需要2分钟。
内容图文
我正在学习熊猫,并且遇到了一个有趣的问题.所以我有一个像这样的数据框:
COL1 COL2 COL3
a 9/8/2016 2
b 12/4/2016 23
...
n 1/1/2015 21
COL1是一个字符串,Col2是一个时间戳,Col3是一个数字.现在,我需要对此数据框进行一些分析,并将所有非数字数据转换为数字数据.我尝试使用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的a,b,c)编码为整数.
假设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库将非数值转换为数值全部内容,希望文章能够帮你解决python-使用Panda库将非数值转换为数值所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。