Python 如何从cvs连续数据集中计算平均值/分钟?
我是python新手,这是我的第一个问题,请为我的错误道歉 我有一个连续测量的大csv文件(大约每秒测量一次,但间隔不是固定的)。我需要得到每分钟的平均值。我发现groupby可能会帮助我完成这项工作,但我一直坚持将DATE\u TIME列指定为index,并键入“datetime”。csv文件如下所示: ,日期时间,N2O干燥Python 如何从cvs连续数据集中计算平均值/分钟?,python,datetime,pandas,group-by,mean,Python,Datetime,Pandas,Group By,Mean,我是python新手,这是我的第一个问题,请为我的错误道歉 我有一个连续测量的大csv文件(大约每秒测量一次,但间隔不是固定的)。我需要得到每分钟的平均值。我发现groupby可能会帮助我完成这项工作,但我一直坚持将DATE\u TIME列指定为index,并键入“datetime”。csv文件如下所示: ,日期时间,N2O干燥 02016-03-01 02:32:02.651,0.70714453962 12016-03-01 02:32:03.762,0.7071444254000001 2
02016-03-01 02:32:02.651,0.70714453962
12016-03-01 02:32:03.762,0.7071444254000001
22016-03-01 02:32:05.257,0.70373171894
32016-03-01 02:32:05.953,0.70083729096
42016-03-01 02:32:07.049,0.69760065648
52016-03-01 02:32:07.928,0.6954438788699999
62016-03-01 02:32:08.726,0.687452760689999
72016-03-01 02:32:10.005,0.6724201105500001
82016-03-01 02:32:10.851,0.660728656819999
.
.
.
1045032016-03-02 08:21:18.421,0.26879397415
1045042016-03-02 08:21:19.532,0.26884030311
1045052016-03-02 08:21:20.359,0.268879686 到目前为止,我只成功地读取了数据帧中的文件,并将DATE\u TIME列指定为索引,并使用以下命令将DATE\u TIME列设置为dtype='datetime64[ns]'对象:
import pandas
df=pandas.read_csv(file,usecols=[1,'N2O_dry'])
df=df.set_index('DATE_TIME')
df=pandas.to_datetime(df.index)
然而,现在我似乎只剩下DATE\u TIME列了。谁能帮帮我吗
`我认为您可以添加参数
解析日期
和索引列
,然后与一起使用(这适用于pandas0.18.0
):
我认为您可以将参数
parse_dates
和index_col
添加到,然后与一起使用(这适用于pandas0.18.0
):
如果我理解正确,那么使用
df.index = pd.to_datetime(df.index)
而不是
df = pd.to_datetime(df.index)
这将解决问题,只剩下DATE\u TIME
列。
然后你会(在iPython中):
但仍然:
In [26]: df
Out[26]:
N2O_dry
DATE_TIME
2016-03-01 02:32:02.651 0.707145
2016-03-01 02:32:03.762 0.707144
2016-03-01 02:32:05.257 0.703732
2016-03-01 02:32:05.953 0.700837
2016-03-01 02:32:07.049 0.697601
2016-03-01 02:32:07.928 0.695444
2016-03-01 02:32:08.726 0.687453
2016-03-01 02:32:10.005 0.672420
2016-03-01 02:32:10.851 0.660729
如果我理解正确,那么使用
df.index = pd.to_datetime(df.index)
而不是
df = pd.to_datetime(df.index)
这将解决问题,只剩下DATE\u TIME
列。
然后你会(在iPython中):
但仍然:
In [26]: df
Out[26]:
N2O_dry
DATE_TIME
2016-03-01 02:32:02.651 0.707145
2016-03-01 02:32:03.762 0.707144
2016-03-01 02:32:05.257 0.703732
2016-03-01 02:32:05.953 0.700837
2016-03-01 02:32:07.049 0.697601
2016-03-01 02:32:07.928 0.695444
2016-03-01 02:32:08.726 0.687453
2016-03-01 02:32:10.005 0.672420
2016-03-01 02:32:10.851 0.660729
非常感谢。read_csv的参数工作得非常好!重采样函数并不完全符合我的要求,因为我试图获得时间序列中每分钟的平均值,而该函数似乎给出了每分钟的总体平均值(输出仅为一个值)。我想我的问题措辞不够具体。如果能得到更多的帮助,我将不胜感激,但我也许能从这里出发!嗯,也许最好的是写和期望的输出。谢谢!read_csv的参数工作得非常好!重采样函数并不完全符合我的要求,因为我试图获得时间序列中每分钟的平均值,而该函数似乎给出了每分钟的总体平均值(输出仅为一个值)。我想我的问题措辞不够具体。如果能得到更多的帮助,我将不胜感激,但我也许能从这里出发!嗯,也许最好的方法是写和期望的输出。@vera太好了,很高兴我能帮上忙。考虑接受这个答案(点击滴答声),这样它就不会出现在未回答的问题中。“薇拉,太好了,很高兴我能帮上忙。考虑接受这个答案(点击滴答声),这样它就不会出现在未回答的问题中。