在Python中将平均值、中值和标准偏差值添加为新的数组列

在Python中将平均值、中值和标准偏差值添加为新的数组列,python,pandas,Python,Pandas,我试图找到平均值、中值和标准偏差,并将它们作为每个索引值的新列添加到以下数组中: import pandas as pd #create a dictionary "salesDict" salesDict = {'Samsung Galaxy S10': [769.34, 834.23, 900.12, 1021.12], 'iPhone X': [983.11, 881.21, 1210.32, 1100.34], 'Google Pixel 4': [1021.18,

我试图找到平均值、中值和标准偏差,并将它们作为每个索引值的新列添加到以下数组中:

import pandas as pd
#create a dictionary "salesDict"
salesDict = {'Samsung Galaxy S10': [769.34, 834.23, 900.12, 1021.12],
'iPhone X': [983.11, 881.21, 1210.32, 1100.34],
'Google Pixel 4': [1021.18, 1321.12, 832.14, 992.15]}
#create a list called "dates"
dates=( '01/01/2020', '01/02/2020', '01/03/2020', '01/04/2020')
#create a dataframe called "sales" with "dates" as index
sales=pd.DataFrame(salesDict,index=dates)
print(sales)
#create a Mean column that contains mean value for each date
sales["Mean"]=sales.mean(axis = 1)
#create a Median column that contains median value for each date
sales["Median"]=sales.median(axis = 1)
#create a Std column that contains the standard deviation for each date
sales["Std"]=sales.std(axis=1)
sales.drop(['Samsung Galaxy S10', 'iPhone X', 'Google Pixel 4'], axis=1, inplace=True)
print(sales)
结果是这样的:

            Samsung Galaxy S10  iPhone X  Google Pixel 4
01/01/2020              769.34    983.11         1021.18
01/02/2020              834.23    881.21         1321.12
01/03/2020              900.12   1210.32          832.14
01/04/2020             1021.12   1100.34          992.15
                   Mean       Median         Std
01/01/2020   924.543333   953.826667   96.879804
01/02/2020  1012.186667   946.698333  192.155044
01/03/2020   980.860000   940.490000  143.694352
01/04/2020  1037.870000  1029.495000   39.779060

结果证明,我只得到了正确的平均值,其他两列的值是错误的。谁能指导我解决这个问题,因为我对Python只是一张白纸。非常感谢

问题的出现是因为中位数受到新计算的平均值的影响;标准偏差受新计算的平均值和中位数的影响。
为了避免您仅根据项目列计算(平均值)、中值和标准差,请选择它们:销售额[[“三星Galaxy S10”、“iPhone X”、“谷歌像素4”].
这些更改应更正您的结果:

sales[“Mean”]=sales[“三星Galaxy S10”、“iPhone X”、“谷歌像素4”]。平均值(axis=1)
销售额[“中位数”]=销售额[[“三星Galaxy S10”、“iPhone X”、“谷歌像素4”]。中位数(轴=1)
销售额[“标准”]=销售额[[“三星Galaxy S10”、“iPhone X”、“谷歌像素4”]].Std(轴=1)
请提供预期的(MRE)。我们应该能够复制和粘贴一个连续的代码块,执行该文件,并再现您的问题以及跟踪问题点的输出。这让我们可以根据您的测试数据和期望的输出来测试我们的建议。显示中间结果与您预期的不同之处。。然而,您很快就会有一个好问题了——包括预期值,并跟踪计算偏离的地方。