繁体   English   中英

实现了groupby并希望在我的.csv文件中通过groupby的输出插入

[英]Implemented the groupby and want to insert by output of groupby in my .csv file

我的数据集中大约有8781行。 我已根据月份将不同的项目分组,并计算了每个月特定项目的平均值。 现在,我想在每个月之后插入新行之后存储每个月的结果。 下面是我用来对项目进行分组并计算均值的代码。 请任何人告诉我如何在每个月之后插入新行并将groupby结果存储在其中。

a = pd.read_csv("data3.csv")
print (a)

df=pd.DataFrame(a,columns=['month','day','BedroomLights..kW.'])
print(df)
groupby_month=df['day'].groupby(df['month'])
print(groupby_month)
c=list(df['day'].groupby(df['month']))
print(c)
d=df['day'].groupby(df['month']).describe()
print (d)
#print(groupby_month.mean())
e=df['BedroomLights..kW.'].groupby(df['month']).mean()
print(e)

CSV文件的示例是:

Day Month Year   lights  Fan   temperature windspeed
1    1     2016   0.003  0.12     39       8.95
2    1     2016   0.56   1.23     34       9.54
3    1     2016   1.43   0.32     32       10.32
4    1     2016   0.4    1.43     24       8.32
.................................................
1    12    2016   0.32   0.54     22       7.65
2    12    2016   1.32   0.43     21       6.54

我想要的例外输出是添加一个新行,该行是每个月项目的平均值,例如:

Month lights ......
1       0.32
1       0.43
...............
mean  as a new row 
...............
12       0.32
12       0.43
mean .........

我显示的代码输出如下:

month
1     0.006081
2     0.005993
3     0.005536
4     0.005729
5     0.005823
6     0.005587
7     0.006214
8     0.005509
9     0.005935
10    0.005821
11    0.006226
12    0.006056
Name: BedroomLights..kW., dtype: float64

如果您的索引名为1mean2mean3mean等, sort_indexes应该将它们放在您想要的位置。

e.index = [str(n)+'mean' for n in range(1,13)]
df = df.append(e)
df = df.sort_index()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM