从 'for loop' 中提取浮点数,写入 python 中的数据框

Extract float from 'for loop', write to dataframe in python

提前感谢您的帮助。

目前能够按第 n 天分组 group.nth(n),并使用 for 循环生成结果列表。

这是我的资料:

import pandas as pd
import numpy as np

In [173]:  data
Out [173]:
Date          A                   
1998-04-01   0.005826374
1998-04-02   0.01004055
1998-04-03   0.002867521
....
2001-04-06  -0.006290507
2001-04-07  -0.006330328
2001-04-08  -0.005019305

In [174]:  grouped = data.groupby([lambda x: x.year, lambda x: x.month])
Out [174]: <pandas.core.groupby.DataFrameGroupBy objectat0x000000002006B828>

In [175]: for x in xrange(1,21):
                 x = x +1
                 g = grouped.nth(x).sum()
                 print x +1, ("%1.3f " % g)
Out [175]:

    1 0.465 
    2 0.068 
    3 0.103 
    ....
    19 -0.075 
    20 0.175 
    21 0.017 

上面的代码打印范围 1,21 的列表和 g 的关联值(每个 grouped.nth(1,21) 的总和)。我只想将具有索引(1,21)的所述值放入数据框中。

希望这能解决我的问题。再次感谢您。

您可以从 for loop 添加到列表,然后从中创建 df

out = []
for x in xrange(1,21):
    x = x +1
    g = grouped.nth(x).sum()
    out.append((x +1, ("%1.3f " % g)))

pd.DataFrame(out)

`