You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将DataFrame中含日期时间的列拆分至对应日期列?

提取营业时间到对应日期列的Pandas解决方案

实现代码

import pandas as pd

data = [{'timings' : 'Friday 10 am - 6:30 pm$Saturday 10am-6:30pm$Sunday Closed$Monday 10am-6:30pm$Tuesday 10am-6:30pm$Wednesday 10am-6:30pm$Thursday 10am-6:30pm',
'monday':'','tuesday':'','wednesday':'','thursday':'','friday':'','saturday':'','sunday':''
}]

df = pd.DataFrame.from_dict(data)

# 遍历每行处理营业时间
for idx, row in df.iterrows():
    # 按$分割单个日期的营业时间条目
    timing_items = row['timings'].split('$')
    for item in timing_items:
        # 拆分日期和营业时间(仅分割第一个空格,避免营业时间含空格的问题)
        day_part, hour_part = item.split(' ', 1)
        # 转换日期为小写,匹配DataFrame列名
        target_col = day_part.lower()
        # 将营业时间赋值到对应列
        if target_col in df.columns:
            df.at[idx, target_col] = hour_part.strip()

# 查看处理结果
print(df)

代码说明

  • 用split('$')把timings列的内容拆分成单个日期的营业时间条目
  • 对每个条目用split(' ', 1)拆分日期和营业时间,确保营业时间里的空格不会被误分割
  • 将日期转换为小写,和DataFrame中已有的monday、friday等列名匹配
  • 用df.at精准定位行和列,把营业时间赋值到对应位置

适配其他分隔符的情况

如果timings列用其他分隔符(比如逗号),只需修改split的参数即可。比如分隔符是逗号时,把row['timings'].split('$')改成row['timings'].split(',')。

内容的提问来源于stack exchange,提问作者Rushabh Nalawade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 16:05:22