本文整理汇总了Python中numpy.timedelta64函数的典型用法代码示例。如果您正苦于以下问题:Python timedelta64函数的具体用法?Python timedelta64怎么用?Python timedelta64使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了timedelta64函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_timedelta64_conversions
def test_timedelta64_conversions(self):
startdate = Series(date_range('2013-01-01', '2013-01-03'))
enddate = Series(date_range('2013-03-01', '2013-03-03'))
s1 = enddate - startdate
s1[2] = np.nan
for m in [1, 3, 10]:
for unit in ['D', 'h', 'm', 's', 'ms', 'us', 'ns']:
# op
expected = s1.apply(lambda x: x / np.timedelta64(m, unit))
result = s1 / np.timedelta64(m, unit)
assert_series_equal(result, expected)
if m == 1 and unit != 'ns':
# astype
result = s1.astype("timedelta64[{0}]".format(unit))
assert_series_equal(result, expected)
# reverse op
expected = s1.apply(
lambda x: Timedelta(np.timedelta64(m, unit)) / x)
result = np.timedelta64(m, unit) / s1
# astype
s = Series(date_range('20130101', periods=3))
result = s.astype(object)
self.assertIsInstance(result.iloc[0], datetime)
self.assertTrue(result.dtype == np.object_)
result = s1.astype(object)
self.assertIsInstance(result.iloc[0], timedelta)
self.assertTrue(result.dtype == np.object_)
开发者ID:hack-c,项目名称:pandas,代码行数:35,代码来源:test_operators.py
示例2: test_timestamp_and_series
def test_timestamp_and_series(self):
timestamp_series = Series(date_range('2014-03-17', periods=2, freq='D', tz='US/Eastern'))
first_timestamp = timestamp_series[0]
delta_series = Series([np.timedelta64(0, 'D'), np.timedelta64(1, 'D')])
assert_series_equal(timestamp_series - first_timestamp, delta_series)
assert_series_equal(first_timestamp - timestamp_series, -delta_series)
开发者ID:amirneto,项目名称:pandas,代码行数:7,代码来源:test_tslib.py
示例3: test_ufunc_coercions
def test_ufunc_coercions(self):
idx = date_range('2011-01-01', periods=3, freq='2D', name='x')
delta = np.timedelta64(1, 'D')
for result in [idx + delta, np.add(idx, delta)]:
assert isinstance(result, DatetimeIndex)
exp = date_range('2011-01-02', periods=3, freq='2D', name='x')
tm.assert_index_equal(result, exp)
assert result.freq == '2D'
for result in [idx - delta, np.subtract(idx, delta)]:
assert isinstance(result, DatetimeIndex)
exp = date_range('2010-12-31', periods=3, freq='2D', name='x')
tm.assert_index_equal(result, exp)
assert result.freq == '2D'
delta = np.array([np.timedelta64(1, 'D'), np.timedelta64(2, 'D'),
np.timedelta64(3, 'D')])
for result in [idx + delta, np.add(idx, delta)]:
assert isinstance(result, DatetimeIndex)
exp = DatetimeIndex(['2011-01-02', '2011-01-05', '2011-01-08'],
freq='3D', name='x')
tm.assert_index_equal(result, exp)
assert result.freq == '3D'
for result in [idx - delta, np.subtract(idx, delta)]:
assert isinstance(result, DatetimeIndex)
exp = DatetimeIndex(['2010-12-31', '2011-01-01', '2011-01-02'],
freq='D', name='x')
tm.assert_index_equal(result, exp)
assert result.freq == 'D'
开发者ID:AllenDowney,项目名称:pandas,代码行数:31,代码来源:test_datetime.py
示例4: test_timedelta_conversions
def test_timedelta_conversions(self):
assert (Timedelta(timedelta(seconds=1)) ==
np.timedelta64(1, 's').astype('m8[ns]'))
assert (Timedelta(timedelta(microseconds=1)) ==
np.timedelta64(1, 'us').astype('m8[ns]'))
assert (Timedelta(timedelta(days=1)) ==
np.timedelta64(1, 'D').astype('m8[ns]'))
开发者ID:Itay4,项目名称:pandas,代码行数:7,代码来源:test_timedelta.py
示例5: _as_timedelta64_scalar
def _as_timedelta64_scalar(time, unit=None):
unit_args = [unit] if unit else []
flt_unit = unit if unit else 's'
# turn 'H:M:S.ms', 'M:S.ms', 'S.ms' into floating point seconds
if isinstance(time, string_types):# and ':' in time:
time = [float(t) for t in time.lstrip('T').split(':')][::-1]
if len(time) > 1 and unit is not None:
raise ValueError("When giving time as a string, units are automatic")
if len(time) > 3:
raise ValueError("Timedelta as string only goes up to hours")
t_flt = 0.0
for factor, t in zip([1, 60, 60 * 60], time):
t_flt += factor * t
time = t_flt
flt_unit = 's'
# turn floating point time into integer with the correct unit
if is_datetime_like(time):
time = as_datetime64(time) - as_datetime64(np.timedelta64(0, 's'))
elif isinstance(time, (np.timedelta64, timedelta)):
time = np.timedelta64(time).astype(_format_unit(unit, base=DELTA_BASE))
elif isinstance(time, (int, float, np.integer, np.floating)):
orig_time, orig_flt_unit = time, flt_unit
unit_idx = TIME_UNITS.index(flt_unit)
while not np.isclose(time, int(np.round(time)), rtol=1e-4, atol=1e-18):
if unit_idx <= 0:
raise ValueError("Floating point time {0} [{1}] is too precise "
"for any time unit?".format(orig_time, orig_flt_unit))
unit_idx -= 1
time *= TIME_SCALE[unit_idx]
flt_unit = TIME_UNITS[unit_idx]
time = np.timedelta64(int(np.round(time)), flt_unit)
unit, unit_args = flt_unit, [flt_unit]
return np.timedelta64(time, *unit_args)
开发者ID:KristoforMaynard,项目名称:Viscid,代码行数:33,代码来源:npdatetime.py
示例6: test_timedelta_ops_scalar
def test_timedelta_ops_scalar(self):
_skip_if_numpy_not_friendly()
# GH 6808
base = pd.to_datetime('20130101 09:01:12.123456')
expected_add = pd.to_datetime('20130101 09:01:22.123456')
expected_sub = pd.to_datetime('20130101 09:01:02.123456')
for offset in [pd.to_timedelta(10,unit='s'),
timedelta(seconds=10),
np.timedelta64(10,'s'),
np.timedelta64(10000000000,'ns'),
pd.offsets.Second(10)]:
result = base + offset
self.assertEquals(result, expected_add)
result = base - offset
self.assertEquals(result, expected_sub)
base = pd.to_datetime('20130102 09:01:12.123456')
expected_add = pd.to_datetime('20130103 09:01:22.123456')
expected_sub = pd.to_datetime('20130101 09:01:02.123456')
for offset in [pd.to_timedelta('1 day, 00:00:10'),
pd.to_timedelta('1 days, 00:00:10'),
timedelta(days=1,seconds=10),
np.timedelta64(1,'D')+np.timedelta64(10,'s'),
pd.offsets.Day()+pd.offsets.Second(10)]:
result = base + offset
self.assertEquals(result, expected_add)
result = base - offset
self.assertEquals(result, expected_sub)
开发者ID:Acanthostega,项目名称:pandas,代码行数:33,代码来源:test_timedeltas.py
示例7: rolling_correlation
def rolling_correlation(data, correlant, window, min_good_ratio = 0.67, verbose = True):
"time as here: http://docs.scipy.org/doc/numpy/reference/arrays.datetime.html#datetime-units"
correlant = correlant.align_to(data) # I do align before merge, because it is more suffisticated!
merged = data.copy()
merged.data['correlant'] = correlant.data
data_period = _np.timedelta64(int(merged._data_period), 's')
window = _np.timedelta64(window[0], window[1])
window = int(window/data_period)
if verbose:
print('Each window contains %s data points of which at least %s are not nan.'%(window, int(window * min_good_ratio)))
min_good = window * min_good_ratio
size = merged.data.shape[0]-window + 1
timestamps = _pd.TimeSeries(_pd.to_datetime(_pd.Series(_np.zeros(size))))
pear_r = _np.zeros(size)
for i in range(size):
secment = TimeSeries(merged.data.iloc[i:i+window,:])
secment._data_period = merged._data_period
# print(secment.data.dropna().shape[0] < min_good)
if secment.data.dropna().shape[0] < min_good:
pear_r[i]= _np.nan
else:
corr = secment.correlate_to(secment, data_column=merged.data.columns[0], correlant_column=merged.data.columns[1])
pear_r[i] = corr.pearson_r[0]
timestamps.iloc[i] = secment.data.index[0] + ((secment.data.index[-1] - secment.data.index[0])/2.)
# break
pear_r_ts = TimeSeries(_pd.DataFrame(pear_r, index = timestamps, columns = ['pearson_r']))
pear_r_ts._data_period = merged._data_period
pear_r_ts._y_label = 'r'
return pear_r_ts
开发者ID:josephhardinee,项目名称:atm-py,代码行数:33,代码来源:timeseries.py
示例8: function
def function(self, simulation, period):
period = period.this_month
assiette_allegement = simulation.calculate('assiette_allegement', period)
contrat_de_travail_duree = simulation.calculate('contrat_de_travail_duree', period) # 0: CDI, 1:CDD
contrat_de_travail_debut = simulation.calculate('contrat_de_travail_debut', period)
contrat_de_travail_fin = simulation.calculate('contrat_de_travail_fin', period)
effectif_entreprise = simulation.calculate('effectif_entreprise', period)
smic_proratise = simulation.calculate('smic_proratise', period)
zone_revitalisation_rurale = simulation.calculate('zone_revitalisation_rurale', period)
duree_cdd_eligible = contrat_de_travail_fin > contrat_de_travail_debut + timedelta64(365, 'D')
# TODO: move to legislation parameters file
contrat_de_travail_eligible = (
contrat_de_travail_duree == 0) + (
(contrat_de_travail_duree == 1) * (duree_cdd_eligible)
)
duree_validite = (
datetime64(period.start) + timedelta64(1, 'D') - contrat_de_travail_debut
).astype('timedelta64[Y]') < timedelta64(1, 'Y')
eligible = (
contrat_de_travail_eligible *
(effectif_entreprise <= 50) *
zone_revitalisation_rurale *
duree_validite
)
taux_max = .281 if period.start.year < 2015 else .2655 # TODO: move to legislation parameters file
seuil_max = 2.4
seuil_min = 1.5
taux_exoneration = compute_taux_exoneration(assiette_allegement, smic_proratise, taux_max, seuil_max, seuil_min)
exoneration_cotisations_zrr = taux_exoneration * assiette_allegement * eligible
return period, exoneration_cotisations_zrr
开发者ID:SophieIPP,项目名称:openfisca-france,代码行数:34,代码来源:exonerations.py
示例9: test_timedelta_ops_scalar
def test_timedelta_ops_scalar(self):
# GH 6808
base = pd.to_datetime('20130101 09:01:12.123456')
expected_add = pd.to_datetime('20130101 09:01:22.123456')
expected_sub = pd.to_datetime('20130101 09:01:02.123456')
for offset in [pd.to_timedelta(10, unit='s'), timedelta(seconds=10),
np.timedelta64(10, 's'),
np.timedelta64(10000000000, 'ns'),
pd.offsets.Second(10)]:
result = base + offset
assert result == expected_add
result = base - offset
assert result == expected_sub
base = pd.to_datetime('20130102 09:01:12.123456')
expected_add = pd.to_datetime('20130103 09:01:22.123456')
expected_sub = pd.to_datetime('20130101 09:01:02.123456')
for offset in [pd.to_timedelta('1 day, 00:00:10'),
pd.to_timedelta('1 days, 00:00:10'),
timedelta(days=1, seconds=10),
np.timedelta64(1, 'D') + np.timedelta64(10, 's'),
pd.offsets.Day() + pd.offsets.Second(10)]:
result = base + offset
assert result == expected_add
result = base - offset
assert result == expected_sub
开发者ID:cpcloud,项目名称:pandas,代码行数:30,代码来源:test_timedelta.py
示例10: transform_data
def transform_data(train, test):
""" Transform train and test data to include new variables.
"""
# Time
initial_date = np.datetime64('2014-01-01T01:01', dtype='datetime64[m]') # Arbitrary date chosen
d_times = pd.DatetimeIndex(initial_date + np.timedelta64(int(mn), 'm') for mn in train['time'].values)
train['hour'] = d_times.hour
train['weekday'] = d_times.weekday
train['day_of_month'] = d_times.day
train['month'] = d_times.month
train['year'] = d_times.year
d_times = pd.DatetimeIndex(initial_date + np.timedelta64(int(mn), 'm') for mn in test['time'].values)
test['hour'] = d_times.hour
test['weekday'] = d_times.weekday
test['day_of_month'] = d_times.day
test['month'] = d_times.month
test['year'] = d_times.year
# Accuracy
train['accuracy'] = np.log10(train['accuracy']) * 10.0
test['accuracy'] = np.log10(test['accuracy']) * 10.0
# Combine x and y attributes
eps = 0.00001
train['x_d_y'] = train.x.values / (train.y.values + eps)
test['x_d_y'] = test.x.values / (test.y.values + eps)
train['x_t_y'] = train.x.values * train.y.values
test['x_t_y'] = test.x.values * test.y.values
# Return data
return train, test
开发者ID:TenaciousTerrier,项目名称:Kaggle-Competition---Facebook-V---Predicting-Check-Ins,代码行数:34,代码来源:build.py
示例11: test_decode_standard_calendar_multidim_time_inside_timestamp_range
def test_decode_standard_calendar_multidim_time_inside_timestamp_range(
calendar, enable_cftimeindex):
if enable_cftimeindex:
pytest.importorskip('cftime')
cftime = _import_cftime()
units = 'days since 0001-01-01'
times1 = pd.date_range('2001-04-01', end='2001-04-05', freq='D')
times2 = pd.date_range('2001-05-01', end='2001-05-05', freq='D')
noleap_time1 = cftime.date2num(times1.to_pydatetime(),
units, calendar=calendar)
noleap_time2 = cftime.date2num(times2.to_pydatetime(),
units, calendar=calendar)
mdim_time = np.empty((len(noleap_time1), 2), )
mdim_time[:, 0] = noleap_time1
mdim_time[:, 1] = noleap_time2
expected1 = times1.values
expected2 = times2.values
actual = coding.times.decode_cf_datetime(
mdim_time, units, calendar=calendar,
enable_cftimeindex=enable_cftimeindex)
assert actual.dtype == np.dtype('M8[ns]')
abs_diff1 = abs(actual[:, 0] - expected1)
abs_diff2 = abs(actual[:, 1] - expected2)
# once we no longer support versions of netCDF4 older than 1.1.5,
# we could do this check with near microsecond accuracy:
# https://github.com/Unidata/netcdf4-python/issues/355
assert (abs_diff1 <= np.timedelta64(1, 's')).all()
assert (abs_diff2 <= np.timedelta64(1, 's')).all()
开发者ID:edoddridge,项目名称:xarray,代码行数:33,代码来源:test_coding_times.py
示例12: get_holidays
def get_holidays(self, start, end, cal="FX"):
# TODO use Pandas CustomBusinessDays to get more calendars
holidays_list = []
if cal == "FX":
# filter for Christmas & New Year's Day
for i in range(1970, 2020):
holidays_list.append(str(i) + "-12-25")
holidays_list.append(str(i) + "-01-01")
if cal == "WEEKDAY":
bday = CustomBusinessDay(weekmask="Sat Sun")
holidays_list = pandas.date_range(start, end, freq=bday)
holidays_list = pandas.to_datetime(holidays_list).order()
# floor start date
start = np.datetime64(start) - np.timedelta64(1, "D")
# ceiling end date
end = np.datetime64(end) + np.timedelta64(1, "D")
holidays_list = [x for x in holidays_list if x >= start and x <= end]
return pandas.to_datetime(holidays_list)
开发者ID:quantcruncher,项目名称:pythalesians,代码行数:26,代码来源:timeseriesfilter.py
示例13: PlotEwmaPredictions
def PlotEwmaPredictions(daily, name):
"""
"""
# use EWMA to estimate slopes
filled = timeseries.FillMissing(daily)
filled['slope'] = pandas.ewma(filled.ppg.diff(), span=180)
filled[-1:]
# extract the last inter and slope
start = filled.index[-1]
inter = filled.ewma[-1]
slope = filled.slope[-1]
# reindex the DataFrame, adding a year to the end
dates = pandas.date_range(filled.index.min(),
filled.index.max() + np.timedelta64(365, 'D'))
predicted = filled.reindex(dates)
# generate predicted values and add them to the end
predicted['date'] = predicted.index
one_day = np.timedelta64(1, 'D')
predicted['days'] = (predicted.date - start) / one_day
predict = inter + slope * predicted.days
predicted.ewma.fillna(predict, inplace=True)
# plot the actual values and predictions
thinkplot.Scatter(daily.ppg, alpha=0.1, label=name)
thinkplot.Plot(predicted.ewma)
thinkplot.Save()
开发者ID:1000j,项目名称:ThinkStats2,代码行数:30,代码来源:chap12soln.py
示例14: test_timedelta
def test_timedelta(self, freq):
index = date_range('1/1/2000', periods=50, freq=freq)
shifted = index + timedelta(1)
back = shifted + timedelta(-1)
tm.assert_index_equal(index, back)
if freq == 'D':
expected = pd.tseries.offsets.Day(1)
assert index.freq == expected
assert shifted.freq == expected
assert back.freq == expected
else: # freq == 'B'
assert index.freq == pd.tseries.offsets.BusinessDay(1)
assert shifted.freq is None
assert back.freq == pd.tseries.offsets.BusinessDay(1)
result = index - timedelta(1)
expected = index + timedelta(-1)
tm.assert_index_equal(result, expected)
# GH4134, buggy with timedeltas
rng = date_range('2013', '2014')
s = Series(rng)
result1 = rng - pd.offsets.Hour(1)
result2 = DatetimeIndex(s - np.timedelta64(100000000))
result3 = rng - np.timedelta64(100000000)
result4 = DatetimeIndex(s - pd.offsets.Hour(1))
tm.assert_index_equal(result1, result4)
tm.assert_index_equal(result2, result3)
开发者ID:jess010,项目名称:pandas,代码行数:30,代码来源:test_arithmetic.py
示例15: test_nat_items
def test_nat_items(self):
# not a datetime
nadt_no_unit = np.datetime64("NaT")
nadt_s = np.datetime64("NaT", "s")
nadt_d = np.datetime64("NaT", "ns")
# not a timedelta
natd_no_unit = np.timedelta64("NaT")
natd_s = np.timedelta64("NaT", "s")
natd_d = np.timedelta64("NaT", "ns")
dts = [nadt_no_unit, nadt_s, nadt_d]
tds = [natd_no_unit, natd_s, natd_d]
for a, b in itertools.product(dts, dts):
self._assert_func(a, b)
self._assert_func([a], [b])
self._test_not_equal([a], b)
for a, b in itertools.product(tds, tds):
self._assert_func(a, b)
self._assert_func([a], [b])
self._test_not_equal([a], b)
for a, b in itertools.product(tds, dts):
self._test_not_equal(a, b)
self._test_not_equal(a, [b])
self._test_not_equal([a], [b])
self._test_not_equal([a], np.datetime64("2017-01-01", "s"))
self._test_not_equal([b], np.datetime64("2017-01-01", "s"))
self._test_not_equal([a], np.timedelta64(123, "s"))
self._test_not_equal([b], np.timedelta64(123, "s"))
开发者ID:nolta,项目名称:numpy,代码行数:30,代码来源:test_utils.py
示例16: time_features_enricher
def time_features_enricher(dataset):
"""
Feature engineering on time related fields
:param dataset: train/test dataset
"""
dataset['date_time_dt'] = pd.to_datetime(dataset.date_time, format = '%Y-%m-%d %H:%M:%S')
dataset['date_time_dow'] = dataset.date_time_dt.dt.dayofweek
dataset['date_time_hour'] = dataset.date_time_dt.dt.hour
dataset['date_time_month'] = dataset.date_time_dt.dt.month
dataset.loc[dataset.srch_ci == '2161-10-00', 'srch_ci'] = '2016-01-20' #handle one error format case in test set
dataset['srch_ci_dt'] = pd.to_datetime(dataset.srch_ci, format = '%Y-%m-%d')
dataset['srch_ci_dow'] = dataset.srch_ci_dt.dt.dayofweek
dataset['srch_ci_month'] = dataset.srch_ci_dt.dt.month
dataset['srch_co_dt'] = pd.to_datetime(dataset.srch_co, format = '%Y-%m-%d')
dataset['srch_co_dow'] = dataset.srch_co_dt.dt.dayofweek
dataset['srch_co_month'] = dataset.srch_co_dt.dt.month
dataset['booking_window'] = (dataset['srch_ci_dt'] - dataset['date_time_dt'])/np.timedelta64(1, 'D')
dataset['booking_window'].fillna(1000, inplace=True)
dataset['booking_window'] = map(int, dataset['booking_window'])
dataset['length_of_stay'] = (dataset['srch_co_dt'] - dataset['srch_ci_dt'])/np.timedelta64(1, 'D')
开发者ID:parkerzf,项目名称:kaggle-expedia,代码行数:25,代码来源:build_baseline_features.py
示例17: test_is_datetimelike_array_all_nan_nat_like
def test_is_datetimelike_array_all_nan_nat_like(self):
arr = np.array([np.nan, pd.NaT, np.datetime64('nat')])
assert lib.is_datetime_array(arr)
assert lib.is_datetime64_array(arr)
assert not lib.is_timedelta_or_timedelta64_array(arr)
arr = np.array([np.nan, pd.NaT, np.timedelta64('nat')])
assert not lib.is_datetime_array(arr)
assert not lib.is_datetime64_array(arr)
assert lib.is_timedelta_or_timedelta64_array(arr)
arr = np.array([np.nan, pd.NaT, np.datetime64('nat'),
np.timedelta64('nat')])
assert not lib.is_datetime_array(arr)
assert not lib.is_datetime64_array(arr)
assert not lib.is_timedelta_or_timedelta64_array(arr)
arr = np.array([np.nan, pd.NaT])
assert lib.is_datetime_array(arr)
assert lib.is_datetime64_array(arr)
assert lib.is_timedelta_or_timedelta64_array(arr)
arr = np.array([np.nan, np.nan], dtype=object)
assert not lib.is_datetime_array(arr)
assert not lib.is_datetime64_array(arr)
assert not lib.is_timedelta_or_timedelta64_array(arr)
assert lib.is_datetime_with_singletz_array(
np.array([pd.Timestamp('20130101', tz='US/Eastern'),
pd.Timestamp('20130102', tz='US/Eastern')],
dtype=object))
assert not lib.is_datetime_with_singletz_array(
np.array([pd.Timestamp('20130101', tz='US/Eastern'),
pd.Timestamp('20130102', tz='CET')],
dtype=object))
开发者ID:josham,项目名称:pandas,代码行数:35,代码来源:test_inference.py
示例18: close_gaps
def close_gaps(ts, verbose = False):
ts = ts.copy()
ts.data = ts.data.sort_index()
if type(ts.data).__name__ == 'Panel':
data = ts.data.items.values
index = ts.data.items
else:
data = ts.data.index.values
index = ts.data.index
index_df = _pd.DataFrame(index = index)
dt = data[1:] - data[:-1]
dt = dt / _np.timedelta64(1,'s')
median = _np.median(dt)
if median > (1.1 * ts._data_period) or median < (0.9 * ts._data_period):
_warnings.warn('There is a periode and median missmatch (%0.1f,%0.1f), this is either due to an error in the assumed period or becuase there are too many gaps in the _timeseries.'%(median,ts._data_period))
point_dist = (index.values[1:] - index.values[:-1]) / _np.timedelta64(1, 's')
where = point_dist > 2 * ts._data_period
off_periods = _np.array([index[:-1][where], index[1:][where]]).transpose()
if verbose:
print('found %i gaps'%(off_periods.shape[0]))
for i, op in enumerate(off_periods):
no_periods = round((op[1] - op[0])/ _np.timedelta64(1,'s')) / ts._data_period
out = _pd.date_range(start = op[0], periods= no_periods, freq= '%i s'%ts._data_period)
out = out[1:]
out = _pd.DataFrame(index = out)
index_df = _pd.concat([index_df, out])
index_df.sort_index(inplace=True)
ts.data = ts.data.reindex(index_df.index)
return ts
开发者ID:josephhardinee,项目名称:atm-py,代码行数:35,代码来源:timeseries.py
示例19: test_74_percentile_serialized
def test_74_percentile_serialized(self):
ts = carbonara.TimeSerie.from_data(
[datetime64(2014, 1, 1, 12, 0, 0),
datetime64(2014, 1, 1, 12, 0, 4),
datetime64(2014, 1, 1, 12, 0, 9)],
[3, 5, 6])
ts = self._resample(ts, numpy.timedelta64(60, 's'), '74pct')
self.assertEqual(1, len(ts))
self.assertEqual(5.48, ts[datetime64(2014, 1, 1, 12, 0, 0)][1])
# Serialize and unserialize
key = ts.get_split_key()
o, s = ts.serialize(key)
saved_ts = carbonara.AggregatedTimeSerie.unserialize(
s, key, ts.aggregation)
self.assertEqual(ts.aggregation, saved_ts.aggregation)
ts = carbonara.TimeSerie.from_data(
[datetime64(2014, 1, 1, 12, 0, 0),
datetime64(2014, 1, 1, 12, 0, 4),
datetime64(2014, 1, 1, 12, 0, 9)],
[3, 5, 6])
ts = self._resample(ts, numpy.timedelta64(60, 's'), '74pct')
saved_ts.merge(ts)
self.assertEqual(1, len(ts))
self.assertEqual(5.48, ts[datetime64(2014, 1, 1, 12, 0, 0)][1])
开发者ID:luo-zn,项目名称:gnocchi,代码行数:29,代码来源:test_carbonara.py
示例20: test_cf_timedelta
def test_cf_timedelta(self):
examples = [
('1D', 'days', np.int64(1)),
(['1D', '2D', '3D'], 'days', np.array([1, 2, 3], 'int64')),
('1h', 'hours', np.int64(1)),
('1ms', 'milliseconds', np.int64(1)),
('1us', 'microseconds', np.int64(1)),
(['NaT', '0s', '1s'], None, [np.nan, 0, 1]),
(['30m', '60m'], 'hours', [0.5, 1.0]),
]
if pd.__version__ >= '0.16':
# not quite sure why, but these examples don't work on older pandas
examples.extend([(np.timedelta64('NaT', 'ns'), 'days', np.nan),
(['NaT', 'NaT'], 'days', [np.nan, np.nan])])
for timedeltas, units, numbers in examples:
timedeltas = pd.to_timedelta(timedeltas, box=False)
numbers = np.array(numbers)
expected = numbers
actual, _ = conventions.encode_cf_timedelta(timedeltas, units)
self.assertArrayEqual(expected, actual)
self.assertEqual(expected.dtype, actual.dtype)
if units is not None:
expected = timedeltas
actual = conventions.decode_cf_timedelta(numbers, units)
self.assertArrayEqual(expected, actual)
self.assertEqual(expected.dtype, actual.dtype)
expected = np.timedelta64('NaT', 'ns')
actual = conventions.decode_cf_timedelta(np.array(np.nan), 'days')
self.assertArrayEqual(expected, actual)
开发者ID:roxyboy,项目名称:xray,代码行数:33,代码来源:test_conventions.py
注:本文中的numpy.timedelta64函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论