【问题标题】:Add new row to time series DataFrame将新行添加到时间序列 DataFrame
【发布时间】:2019-03-03 22:48:50
【问题描述】:

我有一个从 CSV 文件加载的 DataFrame,我想在该文件中附加一行新的值,然后将其保存回 CSV。然而,这个 DataFrame 有几个特点:

  • 它的列并非都是同时的,有些是字符串,有些是浮点数(这使得 this method 不适合我;
  • 它的索引是日期时间格式,只需要注册日期,所以无论何时使用df.loc[datetime] = [value1, value2, .., value_n](如here),如果我的DataFrame中已经存在索引,所有包含相同日期的行都会更新为输入;

我设法想出的一个解决方案是使用原始列作为键从 dict 创建一个新的 1 行 DataFrame,因此我可以应用 pd.concat 添加新行,但我想知道是否有是一种更简单、更优雅的方法吗?

【问题讨论】:

    标签: python pandas dataframe time-series


    【解决方案1】:

    您可以附加 1 行,有或没有索引:

    df = df.append(pd.DataFrame({'value_1':value_1,'value_n':value_n},index=this_index))

    df = df.append({'value_1':value_1,'value_n':value_n},ignore_index=True)

    【讨论】:

    • 使用 ignore_index=True 会重置它。如果可能的话,我想将索引保留为日期时间序列。
    猜你喜欢
    • 2012-12-08
    • 2014-12-01
    • 2017-10-28
    • 2014-05-19
    • 1970-01-01
    • 2018-07-27
    • 2015-10-15
    • 2021-11-25
    • 1970-01-01
    相关资源
    最近更新 更多