使用Pandas变换数据集

lokaqttq  于 2023-06-20  发布在  其他
关注(0)|答案(1)|浏览(78)

我正在尝试改变我的数据看起来。我试着把它从这个转变过来:
| 特征1|特色二|特色三|特色四|目标|
| - -----|- -----|- -----|- -----|- -----|
| 10.2 |0.5| 2.1| 7.8|十五点三|
| 11.5 |0.7|一点八|7.0|十六点二|
| 9.8 |0.6| 2.2|八点五|十四点五|
| ......这是什么?|......这是什么?|......这是什么?|......这是什么?|......这是什么?|
| 12.3 |0.9| 1.4| 6.2|十七点六|
| 11.7 |0.8| 1.7|六点五|十六点八|
| 10.9 |0.7| 2.0| 7.3|十五点九|
对此:
| 日期/时间|目标变量|
| - -----|- -----|
| 2000 - 01 - 01 00:00:00| 10.2|
| 2000 - 01 - 01 01:00:00|十一点五|
| 2000 - 01 - 01 02:00:00|九点八|
| ......这是什么?|......这是什么?|
| 2017 - 12 - 31 21:00:00|十二点三|
| 2017 - 12 - 31 22:00:00|十一点七|
| 2017 - 12 - 31 23:00:00|十点九|
Here is a link to what my current data looks like.
我查看了pandas文档,但我没有找到如何用我的数据集实现这个结果。

slhcrj9b

slhcrj9b1#

如果你只是想让它从宽到长,你可以根据你的数据使用df.melt()

data = {2008: [10,20,30,40,50],
        2009: [60,70,80,90,100],
        2010: [110, 120, 130, 140, 150]}

df = pd.DataFrame(data)

df_long = df.melt().rename({'variable': 'year'})
year  value
0   2008     10
1   2008     20
2   2008     30
3   2008     40
4   2008     50
5   2009     60
6   2009     70
7   2009     80
8   2009     90
9   2009    100
10  2010    110
11  2010    120
12  2010    130
13  2010    140
14  2010    150

相关问题