繁体   English   中英

将 dataframe 中的值转换为更适用于时间序列建模的格式

[英]Convert the values in dataframe to more usable format for Time series modeling

我的 dataframe 具有特定月份售出多少辆红色汽车的价值。 我必须建立一个预测 model 来预测月销售额当前数据框

我希望将当前数据框转换为以下格式以进行时间序列建模。

未来数据框架

如何读取列和行 header 以创建日期列? 我希望有一个新的数据框。

您可以使用melt()将 dataframe 从宽格式转换为长格式。 然后我们结合年份和月份信息来确定实际日期:

import pandas as pd

df = pd.DataFrame({'YEAR' : [2021,2022],
                  'JAN' : [5, 232],
                  'FEB':[545, 48]})

df2 = df.melt(id_vars = ['YEAR'], var_name = 'month', value_name = 'sales')

df2['date'] = df2.apply(lambda row: pd.to_datetime(str(row['YEAR']) + row['month'], format = '%Y%b'), axis = 1)
df2.sort_values('date')[['date', 'sales']]

这给出了 output:


    date        sales
0   2021-01-01  5
2   2021-02-01  545
1   2022-01-01  232
3   2022-02-01  48

(对于时间序列分析,您可能希望将日期列设置为索引)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM