我正在提取一个项目列表,只显示项目编号和项目状态。 我现在需要做的是复制这11次,并为一年中的每个月/期间添加一列。 因此,我们将有:
等等等等
我已经做到了这一点,但速度非常慢,我刚刚开始学习Python,到目前为止,Python的其他一切似乎都非常快,所以希望有更好的解决方案,这就是我通过猜测工作、尝试和错误以及Google得到的:
"""Repeat df for the 12 months"""
df = pd.concat([df]*12)
df.sort_values(by=['Project'])
data = df
data.sort_index(inplace=True)
data.reset_index(inplace=True)
df = data
"""Add the 12 periods to df"""
for project in df['Project']:
periodIndexNames = df[(df['Project'].str.fullmatch(project))].index
periodColumn = df['Period']
snapShotColumn = df['Project']
periodColumn[periodIndexNames] = pd.date_range(start='1/1/2021', periods=12, freq='M')
我们有大约24000个项目
IIUC,如果您有这样一个数据帧
df
:您可以重复将日期范围放入第三列,然后
explode
它,即得到
相关问题 更多 >
编程相关推荐