如何将年份-月份格式的DataFrame转换为一维时间序列数据
解决温度数据宽格式转一维时间序列的问题
实现步骤
假设你的温度数据存储在名为df的Pandas DataFrame中,按以下步骤操作即可得到目标一维序列:
- 将
YEAR列设置为索引,避免年份数值被混入温度数据:
df = df.set_index('YEAR')
- 使用
stack()将月份列转为行维度,再按索引排序确保时间顺序(年份+1-12月),最后提取纯数值数组:
one_dimensional_series = df.stack().sort_index().values
- 若需要示例中的字符串格式输出,可进一步转换:
formatted_output = ' '.join(map(str, one_dimensional_series)) print(f'[{formatted_output} ... etc]')
关于stack()未达预期的原因
大概率是你没有先将YEAR列设为索引,导致年份的数值被错误纳入了堆叠后的结果;或是没有提取values属性,保留了Series的多级索引结构,所以看起来不是纯粹的一维数值序列。
内容的提问来源于stack exchange,提问作者Hana
相关产品推荐
相关产品推荐

