pandas从日期属性中提取年月日

在数据挖掘时,日期属性为非数值属性,不能直接输入模型,需拆分为年、月、日。date属性是object类型,实际为字符串,便于提取年、月、日,文中给出了拆分的代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在数据挖掘过程中,日期属性是非数值属性, 不能直接输入到模型,将日期属性拆分成年、月和日是必要的。

date属性是object类型的, 通过取单元格可以发现它是字符串类型,这样很容易提取年、月、日

将日期属性拆分成年、月、日, 代码如下:

def DateSplit(df, col):
    """
    split the object of '2010-01-02' into year(2010), month(1) and day(2).
    :param df:  to operate data (type:DataFrame)
    :param col: column label of date object (type:str)
    :return: converted date (type: DataFrame)
    """
    year, month, day = [], [], []
    data = df.loc[:, col].values
    df = df.drop([col], axis=1)
    
    for i in range(data.shape[0]):
        year.append(int(data[i][:4]))
        month.append(int(data[i][5:7]))
        day.append(int(data[i][8:]))
    date = pd.DataFrame({'year': year, 'month': month, 'day': day})
    result = pd.concat([date, df], axis=1)
    return result


pm25_train = pd.read_csv("./datasets_PM25/pm25_train.csv")
data= DateSplit(df=pm25_train,col='date')
data.head(10)

 

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值