【问题标题】:How to add date automatically based on the user input in python?如何根据python中的用户输入自动添加日期?
【发布时间】:2021-06-06 14:32:15
【问题描述】:

我对 Datetime 和 pandas 很陌生。我想根据给定的值添加新的日期行。如果输入为 2,那么程序应该从最后一行值开始计算两个日期。我可以获取日期,但无法将它们插入数据框中。这里的日期是一个索引。有什么办法吗?

我的意见:

df=
            column1
2020-12-22    1
2020-12-23    2
2020-12-24    3
start = df.index.max()
numdays =4
date_list = [start - datetime.timedelta(days=x) for x in range(numdays)]
date_list

输出如下:

[Timestamp('2020-12-24 00:00:00'),
 Timestamp('2020-12-25 00:00:00'),
 Timestamp('2020-12-26 00:00:00'),
 Timestamp('2020-12-27 00:00:00')]

预期输出:

    column1
2020-12-22    1
2020-12-23    2
2020-12-24    3
2020-12-25    Naan
2020-12-26    Naan
2020-12-27    Naan

【问题讨论】:

    标签: python dataframe datetime indexing


    【解决方案1】:

    一种方法:

    import datetime as dt
    delta = int(input('Enter the number of row'))
    for i in range(delta):
        df.loc[df.index[-1]+dt.timedelta(days=1)] = np.nan
    df
    

    输出:

    由于我不明白您是否需要真正的输入,我已经对其进行了编码,但如果没有,您只需将您的值分配给“delta”,而无需通过输入询问

    import datetime as dt
    delta = 2
    for i in range(delta):
        df.loc[df.index[-1]+dt.timedelta(days=1)] = np.nan
    df
    

    【讨论】:

      猜你喜欢
      • 2021-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多