我有一个大数据集,其中包含来自多个位置(以纬度/经度给出)超过 80 年的数据。我正在尝试计算整个时间范围内每个站点的 a 列和 b 列的 10 年平均值。下面是数据表的示例。
Lat Long Year Month Day a b
46.90625 -115.46875 1950 01 01 0.0000 1.1335
46.90625 -115.46875 1950 01 02 0.0000 1.1276
46.90625 -115.46875 1950 01 03 0.0000 1.1213
Run Code Online (Sandbox Code Playgroud)
这是我尝试过但一直迷失方向的示例。
fname = output1
df = pandas.read_table(output1)
lat_long_group = df.groupby(['Lat','Long','Year']).agg(['mean','count'])
monthly_average = lat_long_group.aggregate({'a':numpy.mean,
'b': numpy.mean})
Run Code Online (Sandbox Code Playgroud) 我在数据框中有一个时间戳,它被识别为一个字符类.出于某种原因,我无法将其转换为poxis时间戳.
这是一个数据样本.
ID dateTime stage
1 2016-11-01T00:00:00.000Z 4.82
2 2016-11-01T00:15:00.000Z 4.83
3 2016-11-01T00:30:00.000Z 4.84
4 2016-11-01T00:45:00.000Z 4.85
5 2016-11-01T01:00:00.000Z 4.86
6 2016-11-01T01:15:00.000Z 4.87
Run Code Online (Sandbox Code Playgroud)
我尝试过使用以下内容.
format(df$dateTime, "Y%-%m-%d %h:%m")
as.Date(df$dateTime, "Y%-%m-%d %h:%m")
as.POSIXct(df$dateTime, tz="GMT")
Run Code Online (Sandbox Code Playgroud)
上述尝试都没有奏效.在尝试每一个之后,这个课将永远作为角色出现.
有什么建议?
我有两个不同长度的数据帧(n=3012 和 3008),我需要根据日期进行合并。我曾尝试使用合并和 rbindfill 函数,但没有成功。两个数据帧之间的公共线程是 date_time 但是两个 df2 都没有与 df1 相同的值。
df1
ID date_time Q_cfs Data_Code
68 2016-11-01 00:00:00 353 P
69 2016-11-01 00:15:00 356 P
70 2016-11-01 00:30:00 357 P
71 2016-11-01 00:45:00 356 P
72 2016-11-01 01:00:00 358 P
73 2016-11-01 01:15:00 355 P
Run Code Online (Sandbox Code Playgroud)
df2
ID stage date_time
1 4.82 2016-11-01 00:00:00
2 4.83 2016-11-01 00:15:00
3 4.84 2016-11-01 00:30:00
4 4.85 2016-11-01 00:45:00
5 4.86 2016-11-01 01:00:00
6 4.87 2016-11-01 01:15:00
Run Code Online (Sandbox Code Playgroud)
我尝试使用合并(如下)但它不起作用,因为列长度不同。
DF_New<- merge(df1,df2, by.x = df1$date_time, …Run Code Online (Sandbox Code Playgroud)