Saya memiliki bingkai data panda ini, tempat saya ingin membuat plot garis, per strata setiap tahun:

    year    month   canasta
0   2011    1   239.816531
1   2011    2   239.092353
2   2011    3   239.332308
3   2011    4   237.591538
4   2011    5   238.384231
... ... ... ...
59  2015    12  295.578605
60  2016    1   296.918861
61  2016    2   296.398701
62  2016    3   296.488780
63  2016    4   300.922927

Dan saya mencoba kode ini:

dca.groupby(['year', 'month'])['canasta'].mean().reset_index().plot()

Tapi saya mendapatkan hasil ini: masukkan deskripsi gambar di sini python pandas

3
Alexis 12 Mei 2021, 15:59

1 menjawab

Jawaban Terbaik

Mengapa: Karena setelah Anda melakukan reset_index, year dan month menjadi kolom normal. Dan some_df.plot() hanya memplot semua kolom kerangka data ke dalam satu plot, menghasilkan apa yang Anda posting.

Perbaiki: Coba unstack daripada reset_index:

(dca.groupby(['year', 'month'])
    ['canasta'].mean()
    .unstack('year').plot()
)
3
Quang Hoang 12 Mei 2021, 13:12