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

在Azure Data Flows中根据列值生成多行重复数据

按休假天数拆分PTO记录为多行并计算工时

现有数据集

Employee_IdDays_offPTO
001A110/23/2023 12:00:00
002B210/28/2023 12:00:00
003C310/28/2023 12:00:00

目标数据集

Employee_IdDays_offPTOHours
001A110/23/2023 12:00:008
002B210/28/2023 12:00:0016
002B210/28/2023 12:00:0016
003C310/28/2023 12:00:0024
003C310/28/2023 12:00:0024
003C310/28/2023 12:00:0024

解法1:Excel(Power Query)

无代码快速实现:

  1. 选中数据区域,点击「数据」→「从表格/区域」,导入Power Query编辑器。
  2. 选中Days_off列,点击「转换」→「重复行」,选择「基于列值重复行」,确认后每行将按Days_off数值重复对应次数。
  3. 点击「添加列」→「自定义列」,输入公式 [Days_off] * 8,将列命名为Hours。
  4. 点击「关闭并上载」,直接生成目标格式数据。

解法2:Python Pandas

代码批量处理方案:

import pandas as pd

# 构造数据(实际可通过pd.read_excel/pd.read_csv读取本地文件)
df = pd.DataFrame({
    'Employee_Id': ['001A', '002B', '003C'],
    'Days_off': [1, 2, 3],
    'PTO': ['10/23/2023 12:00:00', '10/28/2023 12:00:00', '10/28/2023 12:00:00']
})

# 按Days_off值重复行
expanded_df = df.loc[df.index.repeat(df['Days_off'])]

# 计算工时列
expanded_df['Hours'] = expanded_df['Days_off'] * 8

# 重置索引(可选,让索引从0开始)
expanded_df = expanded_df.reset_index(drop=True)

print(expanded_df)

运行后输出的DataFrame即为目标数据集。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 15:10:18