Python 间隔之间日期的重复行
我有一个这样的框架: 身份证件 开始 停止 1. 2020-01-01 2020-01-05 2. 2020-01-01 2020-01-10Python 间隔之间日期的重复行,python,pandas,Python,Pandas,我有一个这样的框架: 身份证件 开始 停止 1. 2020-01-01 2020-01-05 2. 2020-01-01 2020-01-10 使用date\u range()生成一个列表,然后使用explode() 使用date\u range()生成一个列表,然后使用explode() 您应该研究pandas DataFrames的方法iterrows来迭代原始数据帧的行,以及函数date\u range来创建每个开始日期和停止日期之间的日期 从原始数据帧(df)为每一行创建一个新的数据帧,
使用
date\u range()
生成一个列表,然后使用explode()
使用
date\u range()
生成一个列表,然后使用explode()
您应该研究pandas DataFrames的方法
iterrows
来迭代原始数据帧的行,以及函数date\u range
来创建每个开始日期和停止日期之间的日期
从原始数据帧(df
)为每一行创建一个新的数据帧,然后将所有创建的数据帧合并为一个大数据帧
import pandas as pd
expanded_dfs = []
for idx, row in df.iterrows():
dates = pd.date_range(row["Start"], row["Stop"], freq="D")
expanded = pd.DataFrame({
"Start": row["Start"],
"End": row["Stop"],
"Date": dates,
"ID": row["ID"]
})
expanded_dfs.append(expanded)
pd.concat(expanded_dfs)
您应该研究pandas DataFrames的方法
iterrows
来迭代原始数据帧的行,以及函数date\u range
来创建每个开始日期和停止日期之间的日期
从原始数据帧(df
)为每一行创建一个新的数据帧,然后将所有创建的数据帧合并为一个大数据帧
import pandas as pd
expanded_dfs = []
for idx, row in df.iterrows():
dates = pd.date_range(row["Start"], row["Stop"], freq="D")
expanded = pd.DataFrame({
"Start": row["Start"],
"End": row["Stop"],
"Date": dates,
"ID": row["ID"]
})
expanded_dfs.append(expanded)
pd.concat(expanded_dfs)