如何实现Pandas中date_range函数频率参数的动态赋值
Pandas date_range频率参数动态配置方案
你遇到的问题核心是直接写'xH'时Python会将x识别为普通字符串字符,而非你定义的数值变量,只要把变量值动态拼接到频率字符串中即可生效,常用实现方式如下:
方法1:f-string拼接(Python3.6及以上版本推荐,写法最简洁)
直接把变量嵌入f-string表达式中,示例代码:
import pandas as pd x = 30 # 动态生成频率字符串 res = pd.date_range(start='2020-01-01', end='2020-01-31', freq=f'{x}H')
方法2:format格式化拼接(兼容所有Python版本)
如果需要适配Python3.6以下的旧版本,可以用format方法实现:
import pandas as pd x = 30 res = pd.date_range(start='2020-01-01', end='2020-01-31', freq='{}H'.format(x))
拓展说明
如果需要切换其他时间单位,只要修改字符串后缀即可,比如按x天为间隔用f'{x}D'、按x分钟为间隔用f'{x}T',和固定频率的写法规则完全一致。
内容的提问来源于stack exchange,提问作者Beta
相关产品推荐
相关产品推荐

