简体   繁体   中英

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

I have around 8781 rows in my dataset. I have grouped the different items according to month and calculated the mean of a particular item of every month. Now, I want to store the result of every month after inserting the new row after every month. Below is the code that I have worked upon for grouping the item and calculated the mean. Please, anyone, tell how I can insert a new row after every month and store my groupby result in it.

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)

A sample of csv file is :

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

The excepted output I want is adding a new row that is mean of items of every month like:

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

The output of the code I have shown is as follows:

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

If your indices are named 1mean , 2mean , 3mean , etc., sort_indexes should place them where you want.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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