dataframe类型数据-数据分类-判断是否周末

这篇博客介绍了如何利用Python的apply函数结合自定义函数,快速判断数据集中日期对应的星期是否为周六或周日。通过weekend_judge函数,将小于6的值(周一到周五)标记为0,其他值(周六和周日)标记为1,从而实现数据转换。

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

如果有星期数据 如何判断 它是否为周六周日? 周六周日标记为1 其他标记为0

不会星期转换的可以看我上一条博客

数据集:

week
1
2
3
4
5
6
7
3
7
1
4

转换:

运用apply函数 先定义一个判断函数 然后用apply的广播机制处理 比遍历方便的多

#判断函数
def weekend_judge(x):
    if x < 6:
        return 0
    else:
        return 1


df_2021['week'] = df_2021['week'].apply(func=weekend_judge)

### 关于时间处理类及其实现 Python 中的时间处理主要依赖 `datetime` 模块以及第三方库如 `pandas` 提供的功能。这些工具提供了丰富的接口来解析、格式化和操作日期时间数据。 #### 使用 Python 内置模块 datetime 处理时间 内置的 `datetime` 模块可以方便地创建表示特定时刻的对象,并执行加减运算等基本操作: ```python from datetime import datetime, timedelta now = datetime.now() # 获取当前时间 print(now) delta = timedelta(days=10) # 创建一个十天的时间差对象 future_date = now + delta # 计算未来某个具体日期 print(future_date) ``` #### 利用 Pandas 进行复杂的数据预处理 当面对大量带有时序特性的表格型数据集时,Pandas 库中的 `Timestamp`, `DatetimeIndex` 及其他相关组件能够极大地简化数据分析流程[^1]: ```python import pandas as pd df = pd.DataFrame({'date': ['2023-09-08', '2023-09-09']}) df['date'] = pd.to_datetime(df['date']) # 将字符串转换成标准时间戳形式 df['day_of_week'] = df['date'].dt.dayofweek # 添加星期几这一新特征列 df['hour'] = df['date'].dt.hour # 如果有小时信息则提取出来 print(df) ``` 上述代码展示了如何利用 Pandas 对 DataFrame 中存储的日期字段进行扩展分析,包括但不限于计算工作日标志位或者划分一天内的不同时段。 #### 自定义时间序列特征工程函数 针对特殊需求还可以编写专门用于生成额外特征的方法,比如判断某一日是否属于周末或是将全天划分为若干个固定长度的时间片等等: ```python def add_time_features(dataframe): dataframe['is_weekend'] = (dataframe['date'].dt.weekday >= 5).astype(int) bins = [0, 6, 12, 18, 24] labels = ["凌晨", "上午", "下午", "晚上"] dataframe['time_period'] = pd.cut( dataframe['date'].dt.hour, bins=bins, labels=labels[:-1], include_lowest=True, right=False ) return dataframe new_df = add_time_features(df.copy()) print(new_df[['date', 'is_weekend', 'time_period']]) ``` 此部分实现了两个新的属性:“is_weekend”用来标记记录对应的那天是不是休息日;而"time_period"则是按照每六个小时为单位把整天切分成四个区间并赋予相应的标签。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值