从 '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)
`
提前感谢您的帮助。
目前能够按第 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)
`