pandas - Panda 将相同的索引名称移动到唯一的列名
问题描述
我有一个形状为 366,1 的 pandas df“lty”,如下所示,第一个“时间”列是一个月或在这种情况下是一月,第二个“时间”列是一个月中的一天。这是结果
lty = ylt.groupby([ylt.index.month, ylt.index.day]).mean()
我可能需要重置索引或让列重命名如下,以便“lty”的形状为 366,3:
LT Mean
time time
1 1 11.263604
2 11.971495
3 11.989080
4 12.558736
5 11.850899
month day LT Mean
1 1 11.263604
2 11.971495
3 11.989080
4 12.558736
5 11.850899
我试图重置索引,但出现此错误:
lty.reset_index()
ValueError: cannot insert time, already exists
谢谢你,因为我还在学习如何操作列,索引。
解决方案
当您将 Index 属性分组时groupby
,rename
它们在聚合后不会发生冲突:
lty = (ylt.groupby([ylt.index.month.rename('month'), ylt.index.day.rename('day')])
.mean().reset_index())
#month day LT Mean
#1 1 11.263604
#1 2 11.971495
#1 3 11.989080
#1 4 12.558736
#1 5 11.850899
推荐阅读
- wpf - 如何为 SolidColorBrush 资源设置动画?
- java - Mongo DB使用正则表达式查找查询未返回预期输出
- javascript - 如何等到 async.forEachOf 完成,然后将结果发送给客户端?
- android - 我们可以避免在 Android 中询问 sim 阅读用户权限吗?
- python - 通过规则生成新元组
- c++ - 如何在 std::future 的向量中调用异步函数?
- jquery - 表单重置后表单中的验证返回错误表单
- sql - 在 cosmos db 和 asp.net core 中处理请求时发生未处理的异常
- javascript - 如何仅在来自不同文件的代码完成后才执行某些代码?
- postgresql - 如何从基于多个分组的表中获取第一行