sklearn数值特征之时间处理

import pandas as pd
import numpy as np
import datetime
from dateutil.parser import parse 
# parse根据字符串解析成datetime,字符串可以很随意,可用时间日期的英文单词,可用横线,逗号,空格等做分隔符
import pytz # 时区

time_stamps = ['2015-03-08 10:30:00.360000+00:00', '2017-07-13 15:45:05.755000-07:00',
               '2012-01-20 22:30:00.254000+05:30', '2016-12-25 00:30:00.000000+10:00']
df = pd.DataFrame(time_stamps, columns = ['Time'])
df

在这里插入图片描述

ts_objs = np.array([pd.Timestamp(item) for item in np.array(df.Time)])
df['Ts_obj'] = ts_objs
print(ts_objs)
df

[Timestamp(‘2015-03-08 10:30:00.360000+0000’, tz=‘UTC’)
Timestamp(‘2017-07-13 15:45:05.755000-0700’, tz=‘pytz.FixedOffset(-420)’)
Timestamp(‘2012-01-20 22:30:00.254000+0530’, tz=‘pytz.FixedOffset(330)’)
Timestamp(‘2016-12-25 00:30:00+1000’, tz=‘pytz.FixedOffset(600)’)]

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我们可以使用Scikit-learn (sklearn)库来进行数据析。首先加载保存在csv文件中的数据,然后将时间和其他元素进行处理处理时间数据时,可以使用Python的datetime模块将时间字符串转换为datetime对象,并提取出年份、月份、日期等信息,方便后面进行统计析。 处理其他元素时,可以使用Scikit-learn的CountVectorizer和TfidfVectorizer类来将文本数据转换为数值型数据,方便后面进行机器学习析。 以下是一个简单的示例代码: ```python import csv import datetime from sklearn.feature_extraction.text import CountVectorizer, TfidfVectorizer # 加载数据 with open('chengdu.csv', mode='r', encoding='utf-8') as f: reader = csv.reader(f) rows = [row for row in reader] # 时间和其他元素 titles = [row[0] for row in rows[1:]] times = [datetime.datetime.strptime(row[1], '%Y-%m-%d %H:%M:%S') for row in rows[1:]] contents = [row[2] for row in rows[1:]] likes = [int(row[3]) for row in rows[1:]] shares = [int(row[4]) for row in rows[1:]] # 统计时间信息 years = [time.year for time in times] months = [time.month for time in times] days = [time.day for time in times] hours = [time.hour for time in times] weekdays = [time.weekday() for time in times] # 文本转数值 vectorizer = CountVectorizer() X = vectorizer.fit_transform(contents) print('CountVectorizer转换后的维度:', X.shape) vectorizer = TfidfVectorizer() X = vectorizer.fit_transform(contents) print('TfidfVectorizer转换后的维度:', X.shape) ``` 这里处理时间和内容数据,统计了时间信息,并使用了CountVectorizer和TfidfVectorizer类将文本数据转换为数值型数据。需要注意的是,这里只是一个简单的示例代码,具体析方法和模型需要根据实际情况进行选择和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值