python - 用于时间序列数据的 Pandas Melt 函数
问题描述
我正在尝试融化我的 pandas 数据框,但我不确定如何正确分配变量。我查看了堆栈上的其他示例,但似乎找不到与此匹配的变体。我的数据框(df1)如下所示:
[IN]: df1
[OUT]:
40025.0 21201.0 30061.0 46021.0
date
2020-08-08 0.000861 0.001292 0.000287 0.001177
2020-08-09 0.001147 0.001290 0.000344 0.001204
2020-08-10 0.001431 0.001288 0.000401 0.001231
每列用于不同的 FIPS 代码,值是每天的 Covid 病例数(此数据已为将来的聚类处理),索引是日期时间索引(天)。数据框为 804 列 x 470 行。我希望我的数据框看起来像这样:
我知道如果我将“日期”保留为一列(而不是索引),我可以通过以下方式完成这项工作:
df1 =df1.melt(id_vars="date", var_name="FIPS", value_name="Covid_cases")
但如果我这样做,那么在尝试将“日期”列转换为索引时会出现错误。我需要它作为日期时间索引的索引,因为我要对时间序列数据进行 kmeans 聚类,然后绘制时间序列聚类。任何投入将不胜感激!谢谢!
解决方案
或者您可以通过stack
.
df = (
df.stack()
.reset_index()
.rename(columns={'level_1': 'FIPS', 0: 'Covid_cases'})
.set_index('date')
)
推荐阅读
- junit - 使用 JUnitCore 运行时,TestWatcher 不会捕获失败的测试
- c - 找不到如何正确使用 ptrace()
- python - 无法在 Windows 上使用键盘 Ctrl+C 中断线程化 Python 控制台应用程序
- java - 通过 selenium 禁用 chrome 中的文本自动填充
- enums - 解构枚举时是否可以向上转换为特征?
- python - 如何使用 POST GET 传递 access_token
- r - 使用 dplyr 有条件地将一列中的值替换为另一列中的值
- json - 尝试使用文件加载器和 webpack 加载大型 json 文件
- css - 如何在 Bootstrap 4 中居中对齐文本
- javascript - 在Javascript-Jquery中的点击类中获取一个类