python - 使用列中的日期范围扩展 Pandas 数据框

标签 python pandas

我有一个 pandas 数据框,其中包含与此类似的日期和字符串:

Start        End           Note    Item
2016-10-22   2016-11-05    Z       A
2017-02-11   2017-02-25    W       B

我需要将其扩展/转换为以下内容,在 StartEnd 列之间填写周数 (W-SAT),然后在 中填写数据strong>注意元素:

Start        Note    Item
2016-10-22   Z       A
2016-10-29   Z       A
2016-11-05   Z       A
2017-02-11   W       B
2017-02-18   W       B
2017-02-25   W       B

使用 Pandas 执行此操作的最佳方法是什么?某种多索引应用?

最佳答案

您可以遍历每一行并创建一个新的数据框,然后将它们连接在一起

pd.concat([pd.DataFrame({'Start': pd.date_range(row.Start, row.End, freq='W-SAT'),
               'Note': row.Note,
               'Item': row.Item}, columns=['Start', 'Note', 'Item']) 
           for i, row in df.iterrows()], ignore_index=True)

       Start Note Item
0 2016-10-22    Z    A
1 2016-10-29    Z    A
2 2016-11-05    Z    A
3 2017-02-11    W    B
4 2017-02-18    W    B
5 2017-02-25    W    B

关于python - 使用列中的日期范围扩展 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42151886/

相关文章:

python - 在两个独立的Python程序之间传输数据有哪些好方法?

python - 如何找到ARIMA模型的准确性?

python - SQLite 使用多处理读取,而不启动 imap

python - 根据 Pandas 中的单元格值索引列

python - 如何计算 Pandas Dataframe 中变量的唯一组合

python - 如何使用反向二进制表示重新索引 numpy 数组?

javascript - Python - 使用请求模块重建 Javascript 生成的代码

python - 添加到当前工作目录开头而不是末尾的字符串

python - Pandas 数据框 : error joining

python - Pandas - 将特定 iloc 的值添加到新的数据框列中