python - csv表堆栈到一列
问题描述
我是 python 新手,也是这个网站的新手。
我正在尝试将 csv 表导入我的 jupyter Notebook。问题是,标题(每天的季度时间)和第一列(日期)实际上属于彼此,应该放在一起(见图)。
因此,我想收到一个包含 3 列的数据框:“日期”、“季度时间 ID”和所属的“价格”。
data = {'Date': ['09.11.2020', '09.11.2020','09.11.2020','09.11.2020'],
'Quarterly Hour ID': ['Hour 1 Q1', 'Hour 1 Q2','Hour 1 Q3', 'Hour 1 Q4'],
'Price':[46,30,50,20]
}
data = pd.DataFrame(data, columns = ['Date','Quarterly Hour ID','Price' ])
我找不到任何可以做到这一点的解决方案。我尝试了堆栈,它几乎完成了这项工作,但日期与价格一致。
我希望有人可以帮助我。我确信必须有一个简单的解决方案,我只是不知道在哪里寻找它。
解决方案
尝试:
df = (df.set_index('Date')
.stack()
.reset_index(drop=False)
.rename(columns={'level_1': 'Quarterly Hour ID',
0: 'Price'}))
(我假设第一列名为Date
:如果不是这种情况,您必须进行调整。)
推荐阅读
- postgresql - PostgreSQL 订阅服务器在同步到发布服务器的更新时会锁定吗?
- c# - 在 c# 类中设置值的最佳最短方法
- javascript - Jquery rows togle 类独立表
- python - 存储数据库中的值添加检查元素是否添加到列表末尾
- reactjs - ReactJs 中的多个 CKEditor5(不同版本) - 以 'CKEditorError: ckeditor-duplicated-modules' 结尾
- replace - 用于检测字幕的 MS Word 正则表达式
- maven - 相同的工件使用相同依赖项的不同版本
- reactjs - 为什么我们不在 React 中的 render 方法前面使用 super
- java - 你能创建一个包,里面有进口吗?
- html - 具有 CSS Sprite 背景的响应式圆圈