gpt4 book ai didi

Python pandas - pd.melt 一个带有日期时间索引的数据框导致 NaN

转载 作者:太空宇宙 更新时间:2023-11-03 12:38:58 26 4
gpt4 key购买 nike

我有以下数据框 (sim_2005):

Date         ELEM1 ELEM2 ... ELEM1133
2005-01-01 0.021 2.455 ... 345.2
2005-01-02 0.321 2.331 ... 355.1
... ... ... ... ...
2005-12-31 0.789 3.456 ... 459.9
[365 rows x 1133 columns]

Date 是一个 pandas.tseries.index.DatetimeIndex。我在 @ami-tavory 的帮助下使用 pandas melt 函数对其进行了转换:

 sim_2005_melted = pd.melt(sim_2005, id_vars=sim_2005.index.name, value_vars=list(sim_2005.columns.values), var_name='ELEM', value_name='Q_sim').sort(columns='Date')

结果是:

ID     Date   ELEM     Q_sim
1 NaN ELEM1 0.021
2 NaN ELEM1 0.321
...
366 NaN ELEM2 2.455
367 NaN ELEM2 2.331
...
402983 NaN ELEM1133 345.2
402984 NaN ELEM1133 355.1

出于某种原因,日期时间索引没有传输过来,列中填充了 NaN。任何帮助或想法出了什么问题?

最佳答案

假设 Date 是您的 DataFrame 的索引,您可以在融化的 DataFrame 中获取日期列,如下所示:

sim_2005_melted['Date'] = pd.concat([sim_2005.reset_index().Date 
for _ in range(sim_2005.shape[1])],
ignore_index=True).values

关于Python pandas - pd.melt 一个带有日期时间索引的数据框导致 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30984167/

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