小编Kod*_*oda的帖子

如何使用 Pandas 在 Python 中获取多年平均值

我有一个大数据集,其中包含来自多个位置(以纬度/经度给出)超过 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)

python numpy time-series pandas

3
推荐指数
1
解决办法
1562
查看次数

将字符转换为数据帧中的时间戳

我在数据框中有一个时间戳,它被识别为一个字符类.出于某种原因,我无法将其转换为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)

上述尝试都没有奏效.在尝试每一个之后,这个课将永远作为角色出现.

有什么建议?

r dataframe posixct

2
推荐指数
1
解决办法
1999
查看次数

通过匹配日期合并不同长度的数据帧

我有两个不同长度的数据帧(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)

merge r time-series rbind

2
推荐指数
1
解决办法
6587
查看次数

标签 统计

r ×2

time-series ×2

dataframe ×1

merge ×1

numpy ×1

pandas ×1

posixct ×1

python ×1

rbind ×1