gpt4 book ai didi

python - 汇总每月值

转载 作者:太空狗 更新时间:2023-10-30 02:32:38 26 4
gpt4 key购买 nike

我有一个包含多个列表的 python 列表:

 A = [['1/1/1999', '3.0'], 
['1/2/1999', '4.5'],
['1/3/1999', '6.8'],
......
......

['12/31/1999', '8.7']]

我需要的是将每个月对应的所有值组合起来,最好以字典的形式包含月份作为键,它们的值作为值。

例子:

   >>> A['1/99']
>>> ['3.0', '4.5', '6.8'.....]

或者以列表列表的形式,这样:

例子:

  >>> A[0]
>>> ['3.0', '4.5', '6.8'.....]

谢谢。

最佳答案

Pandas 非常适合这个,如果你不介意另一个依赖的话:

例如:

import pandas
import numpy as np

# Generate some data
dates = pandas.date_range('1/1/1999', '12/31/1999')
values = (np.random.random(dates.size) - 0.5).cumsum()

df = pandas.DataFrame(values, index=dates)

for month, values in df.groupby(lambda x: x.month):
print month
print values

不过,真正巧妙的是分组 DataFrame 的聚合。例如,如果我们想查看按月分组的值的最小值、最大值和平均值:

print df.groupby(lambda x: x.month).agg([min, max, np.mean])

这会产生:

         min       max      mean
1 -0.812627 1.247057 0.328464
2 -0.305878 1.205256 0.472126
3 1.079633 3.862133 2.264204
4 3.237590 5.334907 4.025686
5 3.451399 4.832100 4.303439
6 3.256602 5.294330 4.258759
7 3.761436 5.536992 4.571218
8 3.945722 6.849587 5.513229
9 6.630313 8.420436 7.462198
10 4.414918 7.169939 5.759489
11 5.134333 6.723987 6.139118
12 4.352905 5.854000 5.039873

关于python - 汇总每月值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17078119/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com