gpt4 book ai didi

python - 从 date_range 中以特定格式提取日期

转载 作者:太空宇宙 更新时间:2023-11-04 00:36:41 24 4
gpt4 key购买 nike

我想从这个带日期的列表中得到一个只有“天”的列表。我使用 pd.date_range 生成日期,然后将其转换为字符串。

date = '20170101'
fecha = pd.date_range(date , periods = 6, freq = 'D')
fecha = pd.Series(fecha.format())

print fecha[2][8:10]

for i in fecha:
print fecha[i][8:10]

这会抛出 KeyError: '2017-01-01'

根据我的理解,这个for 循环 应该遍历列表并获取当天的 2 位数字。
我这样做的原因是因为我需要使用这种格式创建日期 '2017-4-4'(因此 10 以下的数字只有一位数字)

有人可以帮忙吗?
谢谢

最佳答案

您可以使用 dt.strftime 创建一个 datetime str,然后使用 astype(str) 转换为 str,然后在 上拆分>'-' 转换为 int 以摆脱领先的 0,然后转换回 str 这样我们就可以再次将日期时间组件重新组合在一起:

In [105]:    
new_fecha = fecha.dt.strftime('%Y-%m-%d').str.split('-',expand=True).astype(int).astype(str)
new_fecha[0] + '-' + new_fecha[1] + '-' + new_fecha[2]

Out[105]:
0 2017-1-1
1 2017-1-2
2 2017-1-3
3 2017-1-4
4 2017-1-5
5 2017-1-6
dtype: object

看起来你的 fecha 是一个 DatetimeIndex 这不需要 .dt:

new_fecha = fecha.strftime('%Y-%m-%d').str.split('-',expand=True).astype‌​(int).astype(str)

所以上面的应该有效

关于python - 从 date_range 中以特定格式提取日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43785021/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com