Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从数据帧中的列中减去平均值_Python_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python 从数据帧中的列中减去平均值

Python 从数据帧中的列中减去平均值,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我正在用python和pandas dataframe编写一段代码,该代码将一个月内从上午12点到凌晨3点的每小时数据中的值取平均值,然后从每列中减去该月平均值。代码从csv文件中读取数据 数据样本 DateTime C1 C2 C3 C4 C5 V 11/1/2014 0:00 1.12 0.96 1.11 0.95 0.93 4.06 11/1/2014 1:00 1.12 0.96

我正在用python和pandas dataframe编写一段代码,该代码将一个月内从上午12点到凌晨3点的每小时数据中的值取平均值,然后从每列中减去该月平均值。代码从csv文件中读取数据

数据样本

DateTime         C1      C2      C3      C4      C5      V
11/1/2014 0:00  1.12    0.96    1.11    0.95    0.93    4.06
11/1/2014 1:00  1.12    0.96    1.11    0.95    0.93    4.06
11/1/2014 2:00  1.12    0.95    1.11    0.95    0.93    4.06
11/1/2014 3:00  1.12    0.95    1.11    0.95    0.93    4.06
11/1/2014 4:00  1.12    0.95    1.11    0.95    0.93    4.06
11/1/2014 5:00  1.12    0.95    1.11    0.95    0.93    4.06
11/1/2014 6:00  1.12    0.95    1.11    0.96    0.93    5.24
11/1/2014 7:00  1.14    0.96    1.12    0.98    0.95    498.64
11/1/2014 8:00  1.22    1.04    1.20    1.05    1.02    623.51
11/1/2014 9:00  1.46    1.28    1.43    1.27    1.25    641.80
所以我用来计算平均值的代码是

df.ix[:,1:5].between_time('0:00', '3:00').resample('1M').mean()

该代码给出了第1-5列当月12-3点的平均值。现在,如何从第1-5列中的每个值中减去这些平均值?

这就是您要查找的吗

month_av = df.ix[:,1:5].between_time('0:00', '3:00').resample('1M').mean()
df.ix[:, 1:5] = df.ix[:, 1:5] - month_av.values

df.ix[:,1:5]=df.ix[:,1:5]-您的_res.值应该可以。我的数据保存为变量df。当我尝试设置类似(df-df.ix[:,1:5])的东西时,我得到了一堆NaN值。我认为这是可行的。如何将这些值附加到csv文件中以替换其他值?一旦pandas数据框看起来符合您的需要,您就可以执行df。要使用csv(文件名),只需知道如果使用相同的文件名,这将覆盖旧的csv。唯一的问题是,当我将其保存到csv时,它会删除我没有执行减法的列。我怎样才能在减去其他列的同时保留这些列在数据中?你能粘贴整个代码吗?我不确定你到底在做什么。我唯一的想法是你可能在做df=df.ix[:,1:5]-month\u av.values而不是df.ix[:,1:5]=df.ix[:,1:5]-month\u av.values你是对的,这就是我所做的。谢谢你的帮助!