【问题标题】:Array of values depending on column of Pandas Dataframe取决于 Pandas Dataframe 列的值数组
【发布时间】:2020-03-11 08:02:40
【问题描述】:

我有以下 Pandas 数据框:

Id         Values     Hour  
ES0024     4000       01:00
ES0024     5000       03:00
ES0024     6000       04:00
ES0024     7000       05:00
ES0024     8000       06:00
ES0024     9000       08:00

我想做的是构造一个带有以下输出的json doc:

{"Id": "ES0024", "Values": [4000, None, 5000, 6000, 7000, 8000, None, 9000]}

这样如果值数组中小时的对应位置为空,则输入 None 值。

非常感谢!

【问题讨论】:

  • 这能回答你的问题吗? pandas groupby to nested json
  • 您可以简单地填写数据框,使其包含您需要的值。您可以使用 df.resample().fillna() 之类的方法重新采样

标签: python json pandas


【解决方案1】:

首先尝试将您的 DataFrame 转换为所需的格式,然后将其转换为 dict。也许这会对你有所帮助。

首先获取小时列表:

hour = list(pd.date_range("01:00", "08:00", freq="H").strftime('%H:%M'))

然后设置 Hour 和 index 并使用新的 Hour 列表重新索引,最后重置索引以获得新的 DataFrame。

new_df = df.set_index("Hour").reindex(hour).reset_index()

new_df["Id"].fillna( method ='ffill', inplace = True)

然后将其转换为 dict 以获得类似的结果。

print(new_df.to_dict(orient='list'))

虽然这不是您想要的确切格式,但我认为您应该在此之后自行尝试。这将帮助您实现它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-24
    • 2018-09-15
    • 1970-01-01
    • 2021-07-08
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 2019-02-22
    相关资源
    最近更新 更多