Python / Panda:如何生成二维记录

问题描述 投票:0回答:1

我有一个数据框,其中包含以下记录:

year    month   day min-temp    max-temp    precipitation   snow    snow-cover
2018    7   30  77  51  0.0 0.0 0.0
2018    7   29  75  52  0.04    0.0 0.0
2018    7   28  77  56  0.01    0.0 0.0
2018    7   27  80  56  0.35    0.0 0.0

我有大约150年的记录。但是,如果某些列中缺少某些数据,那么该列的值为空。此外,每年的所有日子都无法提供记录。

我已经创建了一个数据结构或数据框(以便我可以在后面的图中绘图)应该有一年中几个月的行,列是[min-temp,max-temp,precipitation,snow,snow-cover] 25年。

我的数据框/数据结构值应如下所示(示例):

enter image description here

如果25个月内没有找到该月的记录,则任何列都可能缺少数据。如果数据丢失,则条目将保留“”值。

有办法吗?

python-3.x pandas
1个回答
3
投票

你可以使用groupbyagg

d={'min-temp':'min','max-temp':'max','precipitation':'sum','snow':'sum','snow-cover':'sum'}
df.groupby(['year','month']).agg(d)
Out[220]: 
            precipitation  snow-cover  max-temp  snow  min-temp
year month                                                     
2018 7                0.4         0.0        56   0.0        75
© www.soinside.com 2019 - 2024. All rights reserved.