Warm tip: This article is reproduced from serverfault.com, please click

python-csv表堆栈到一列

(python - csv table stack to one column)

发布于 2020-11-28 18:14:13

我是python新手,也是本网站的新手。

我正在尝试将csv表导入到我的jupyter笔记本中。问题是,标题(每天的季度时间)和第一列(日期)实际上是彼此属于并且应该保持在一起(参见图片)。

CSV文件的抠图

结果,我希望收到一个包含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' ])

我找不到能做到这一点的任何解决方案。我尝试了堆栈,几乎可以完成这项工作,但日期与价格一致。

我希望有人可以帮助我。我肯定必须有一个简单的解决方案,我只是不知道在哪里寻找它。

Questioner
AizaFinley
Viewed
0
Timus 2020-11-29 05:07:48

尝试:

df = (df.set_index('Date')
        .stack()
        .reset_index(drop=False)
        .rename(columns={'level_1': 'Quarterly Hour ID',
                         0: 'Price'}))

(我假设第一列名为Date:如果不是,则必须进行调整。)