跑出来的平均值,最大值,最小值还有方差可以直接保存到csv,如何选取两列数值的平均数画出扇形图?

问题遇到的现象和发生背景

尝试在跑出来的csv文件中加入新的row。但是set不到。
同时想要直接set一下一个扇形图

用代码块功能插入代码,请勿粘贴截图
import pandas as pd
import numpy as np 
dataG = pd.read_csv("/Users/names/Desktop/1340 HW/Cost_of_Living_Index_2022.csv")
print("-------------------------------------------")
print(dataG)
print(dataG.index)
print("-------------------------------------------")

print(dataG.sort_values(['Cost of Living Index', 
                         'Rent Index',
                         'Cost of Living Plus Rent Index',
                         'Groceries Index',
                         'Restaurant Price Index',
                         'Local Purchasing Power Index'],ascending = False))

print("Cost of Living Index mean is : ",dataG['Cost of Living Index'].mean())
print("Rent Index mean is: ",dataG['Rent Index'].mean())
print("Cost of Living Plus Rent Index mean is : ",dataG['Cost of Living Plus Rent Index'].mean())
print("Groceries Index mean is:",dataG['Groceries Index'].mean())
print("Restaurant Price Index mean is:",dataG['Restaurant Price Index'].mean())
print("Local Purchasing Power Index mean is:",dataG['Local Purchasing Power Index'].mean())


print("-------------------------------------------")

datasum = ["Total",dataG["Cost of Living Index"].sum(),
dataG["Rent Index"].sum(),
dataG["Cost of Living Plus Rent Index"].sum(),
dataG["Groceries Index"].sum(),
dataG["Restaurant Price Index"].sum(),
dataG["Local Purchasing Power Index"].sum()]


datamean = ["mean",dataG["Cost of Living Index"].mean(),
dataG["Rent Index"].mean(),
dataG["Cost of Living Plus Rent Index"].mean(),
dataG["Groceries Index"].mean(),
dataG["Restaurant Price Index"].mean(),
dataG["Local Purchasing Power Index"].mean()]


datavar = ["variance",dataG["Cost of Living Index"].var(),
dataG["Rent Index"].var(),
dataG["Cost of Living Plus Rent Index"].var(),
dataG["Groceries Index"].var(),
dataG["Restaurant Price Index"].var(),
dataG["Local Purchasing Power Index"].var()]

datamax = ["Total",dataG[“Cost of Living Index"].max(),
dataG["Rent Index"].max(),
dataG["Cost of Living Plus Rent Index"].max(),
dataG["Groceries Index"].max(),
dataG["Restaurant Price Index"].max(),
dataG["Local Purchasing Power Index"].max()]

datamin = ["Total",dataG["Cost of Living Index"].min(),
dataG["Rent Index"].min(),
dataG["Cost of Living Plus Rent Index"].min(),
dataG["Groceries Index"].min(),
dataG["Restaurant Price Index"].min(),
dataG["Local Purchasing Power Index"].min()]


rownum1 = len(dataG)#
dataG.loc[rownum1]=datasum
rownum1+=1
dataG.loc[rownum1]=datamean
rownum1+=1
dataG.loc[rownum1]=datavar
rownum1+=1
dataG.loc[rownum1]=datamax
rownum1+=1
dataG.loc[rownum1]=datamin

dataG.to_csv('1340 mid_Cost_of_Living_Index_2022.csv',index = False)

###### 运行结果及报错内容 
Traceback (most recent call last):
  File "/Users/names/Desktop/import pandas as pd.py", line 65, in 
    dataG.loc[rownum1]=datasum
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pandas/core/indexing.py", line 818, in __setitem__
    iloc._setitem_with_indexer(indexer, value, self.name)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pandas/core/indexing.py", line 1785, in _setitem_with_indexer
    self._setitem_with_indexer_missing(indexer, value)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pandas/core/indexing.py", line 2160, in _setitem_with_indexer_missing
    raise ValueError("cannot set a row with mismatched columns")
ValueError: cannot set a row with mismatched columns
###### 我的解答思路和尝试过的方法 

###### 我想要达到的结果
**想在跑出来的csv文件中加入新的row。**


比如说


| rank   | country     | Cost of Living Index |
| ------ | ------      | ------ |
| 1      | Afghanistan | 20.3 |
| 2      | Albania     | 35.5 |
| total  |             | 55.8 |

**还有一个扇形图,可以选取某两列数值的平均数画出扇形图**

改下面这样,总和,均值的集合长度前面再加一项,让长度和dataframe一样就可以了,绘图看最后的

import pandas as pd
import numpy as np 
import matplotlib.pyplot as plt
from pylab import mpl


#中文乱码解决办法
mpl.rcParams['font.sans-serif'] = ['Microsoft YaHei'] # 指定默认字体:解决plot不能显示中文问题
mpl.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题


dataG = pd.read_csv("Cost_of_Living_Index_2022.csv")
print("-------------------------------------------")
print(dataG)
print(dataG.index)
print("-------------------------------------------")
 
print(dataG.sort_values(['Cost of Living Index', 
                         'Rent Index',
                         'Cost of Living Plus Rent Index',
                         'Groceries Index',
                         'Restaurant Price Index',
                         'Local Purchasing Power Index'],ascending = False))
 
print("Cost of Living Index mean is : ",dataG['Cost of Living Index'].mean())
print("Rent Index mean is: ",dataG['Rent Index'].mean())
print("Cost of Living Plus Rent Index mean is : ",dataG['Cost of Living Plus Rent Index'].mean())
print("Groceries Index mean is:",dataG['Groceries Index'].mean())
print("Restaurant Price Index mean is:",dataG['Restaurant Price Index'].mean())
print("Local Purchasing Power Index mean is:",dataG['Local Purchasing Power Index'].mean())
 
 
print("-------------------------------------------")
 
datasum = ["","Total",dataG["Cost of Living Index"].sum(),
dataG["Rent Index"].sum(),
dataG["Cost of Living Plus Rent Index"].sum(),
dataG["Groceries Index"].sum(),
dataG["Restaurant Price Index"].sum(),
dataG["Local Purchasing Power Index"].sum()]
 
 
datamean = ["","mean",dataG["Cost of Living Index"].mean(),
dataG["Rent Index"].mean(),
dataG["Cost of Living Plus Rent Index"].mean(),
dataG["Groceries Index"].mean(),
dataG["Restaurant Price Index"].mean(),
dataG["Local Purchasing Power Index"].mean()]
 
 
datavar = ["","variance",dataG["Cost of Living Index"].var(),
dataG["Rent Index"].var(),
dataG["Cost of Living Plus Rent Index"].var(),
dataG["Groceries Index"].var(),
dataG["Restaurant Price Index"].var(),
dataG["Local Purchasing Power Index"].var()]
 
datamax = ["","Max",dataG["Cost of Living Index"].max(),
dataG["Rent Index"].max(),
dataG["Cost of Living Plus Rent Index"].max(),
dataG["Groceries Index"].max(),
dataG["Restaurant Price Index"].max(),
dataG["Local Purchasing Power Index"].max()]

datamin = ["","Min",dataG["Cost of Living Index"].min(),
dataG["Rent Index"].min(),
dataG["Cost of Living Plus Rent Index"].min(),
dataG["Groceries Index"].min(),
dataG["Restaurant Price Index"].min(),
dataG["Local Purchasing Power Index"].min()]

rownum1 = len(dataG)#
dataG.loc[rownum1]=datasum
rownum1+=1
dataG.loc[rownum1]=datamean
rownum1+=1
dataG.loc[rownum1]=datavar
rownum1+=1
dataG.loc[rownum1]=datamax
rownum1+=1
dataG.loc[rownum1]=datamin
dataG.to_csv('1340 mid_Cost_of_Living_Index_2022.csv',index = False)


######绘制饼图
plt.title('Cost of Living/Rent饼图')
plt.pie([datamean[2],datamean[3]],labels=['Cost of Living Index','Rent Index'],autopct='%.2f%%')
plt.show()