【发布时间】:2020-11-05 05:14:26
【问题描述】:
所以失败了:
我在同一日历年有两个数据框,但每天的时间平均值不同。 DF1 是分钟,DF2 是每天。
指令
我现在正在考虑使用“天数”标准 days = 1,2,3....i 并将 DF2 中的所有列放入 DF1 中,并在当天重复每一天填充每一行平均日期然后移到第二天!
- 我有两个文件,它们都是 CSV 文件。
- 这些将作为转换为数据帧的 CSV 文件读入 pandas。
- 我正在考虑重新开始,下面的代码是第一次尝试 将每分钟数据与每小时数据相关联
- 添加自 2014 年 9 月 12 日以来的天数列并执行以下操作: df[days] = df1[days] 打印来自 df 的列(在本例中 是每日平均值)df1(这是 3 分钟的平均数据)
下面的代码示例将每小时数据与每分钟数据相关联。
制表符分隔示例:
Date Pressure Temperature Salinity Density
9/12/2014 20.67517553 9.467564621 34.75207884 1026.945064
9/13/2014 20.50534192 9.081091137 34.77935638 1027.028736
我希望将其关联到:
Date seawater_pressure seawater_temperature seawater_conductivity practical_salinity density lat lon Years
9/12/2014 0:00 177.859887 4.574663842 3.307338475 34.90723316 1028.476924 59.97533 -39.48183 2014.697222
9/12/2014 0:03 214.3598333 4.397781667 3.292384278 34.89887436 1028.659543 59.97533 -39.48183 2014.697222
9/12/2014 0:06 264.5863333 4.208137222 3.276747278 34.88825043 1028.905126 59.97533 -39.48183 2014.697222
9/12/2014 0:09 314.3161111 4.1242 3.271341056 34.88661059 1029.14336 59.97533 -39.48183 2014.697222
9/13/2014 21:00 2608.358764 1.83854382 3.163967753 34.87050646 1039.841076 59.97533 -39.48183 2014.7
9/13/2014 21:03 2571.051778 2.073876111 3.1833685 34.87381988 1039.643173 59.97533 -39.48183 2014.7
9/13/2014 21:06 2520.0315 2.334582222 3.204682722 34.87920389 1039.3818 59.97533 -39.48183 2014.7
9/13/2014 21:09 2469.559944 2.569326667 3.224910833 34.89808956 1039.136967 59.97533 -39.48183 2014.7
9/13/2014 21:12 2419.662011 2.67413743 3.23247419 34.90147888 1038.90175 59.97533 -39.48183 2014.7
我有很多数据。下面的代码与拆分混淆,但我认为过滤器的日子会更好
import os
import xarray as xr
import pandas as pd
import re, time, random
data = '''Date pressure temperature density
9/12/2014 9:00 170 4.0 1028
9/12/2014 10:00 368 4.2 1028.5
9/12/2014 11:00 368 4.2 1028.5'''
da = [[i for i in re.split("[ ][ ]+", l)] for l in data.split("\n")]
df2 = pd.DataFrame(da[1:], columns=da[0])
data='''Date pressure temperature density
9/12/2014 9:00 177.859887 4.574663842 1028.477
9/12/2014 9:01 214.3598333 4.397781667 1028.66
9/12/2014 9:55 264.5863333 4.208137222 1028.905
9/12/2014 10:01 314.3161111 4.1242 1029.143
9/12/2014 10:02 363.8005587 4.02983352 1029.377'''
da = [[i for i in re.split("[ ][ ]+", l)] for l in data.split("\n")]
df1 = pd.DataFrame(da[1:], columns=da[0])
df1.index = pd.to_datetime(df1.Date, format="%d/%m/%Y %H:%M", utc=True)
df2.index = pd.to_datetime(df2.Date, format="%d/%m/%Y %H:%M", utc=True)
df3 = df1.join(df2.resample("1min").pad(), rsuffix="_hourly")
df3
【问题讨论】:
-
如果我理解正确,您想将
daily averaged data关联到daily minute data,对吗? -
是的,没错!我想用每日数据计算异常情况