A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/pandas-dev/pandas/commit/b7991da3612de3f8119841d46f95c23148b0d928 below:

test_to_timedelta.py (#44843) · pandas-dev/pandas@b7991da · GitHub

@@ -30,52 +30,45 @@ def test_to_timedelta_readonly(self, readonly):

30 30

expected = to_timedelta([])

31 31

tm.assert_index_equal(result, expected)

32 32 33 -

def test_to_timedelta(self):

34 - 33 +

def test_to_timedelta_null(self):

35 34

result = to_timedelta(["", ""])

36 35

assert isna(result).all()

37 36 37 +

def test_to_timedelta_same_np_timedelta64(self):

38 38

# pass thru

39 39

result = to_timedelta(np.array([np.timedelta64(1, "s")]))

40 40

expected = pd.Index(np.array([np.timedelta64(1, "s")]))

41 41

tm.assert_index_equal(result, expected)

42 42 43 +

def test_to_timedelta_series(self):

43 44

# Series

44 45

expected = Series([timedelta(days=1), timedelta(days=1, seconds=1)])

45 46

result = to_timedelta(Series(["1d", "1days 00:00:01"]))

46 47

tm.assert_series_equal(result, expected)

47 48 49 +

def test_to_timedelta_units(self):

48 50

# with units

49 51

result = TimedeltaIndex(

50 52

[np.timedelta64(0, "ns"), np.timedelta64(10, "s").astype("m8[ns]")]

51 53

)

52 54

expected = to_timedelta([0, 10], unit="s")

53 55

tm.assert_index_equal(result, expected)

54 56 57 +

@pytest.mark.parametrize(

58 +

"dtype, unit",

59 +

[

60 +

["int64", "s"],

61 +

["int64", "m"],

62 +

["int64", "h"],

63 +

["timedelta64[s]", "s"],

64 +

["timedelta64[D]", "D"],

65 +

],

66 +

)

67 +

def test_to_timedelta_units_dtypes(self, dtype, unit):

55 68

# arrays of various dtypes

56 -

arr = np.array([1] * 5, dtype="int64")

57 -

result = to_timedelta(arr, unit="s")

58 -

expected = TimedeltaIndex([np.timedelta64(1, "s")] * 5)

59 -

tm.assert_index_equal(result, expected)

60 - 61 -

arr = np.array([1] * 5, dtype="int64")

62 -

result = to_timedelta(arr, unit="m")

63 -

expected = TimedeltaIndex([np.timedelta64(1, "m")] * 5)

64 -

tm.assert_index_equal(result, expected)

65 - 66 -

arr = np.array([1] * 5, dtype="int64")

67 -

result = to_timedelta(arr, unit="h")

68 -

expected = TimedeltaIndex([np.timedelta64(1, "h")] * 5)

69 -

tm.assert_index_equal(result, expected)

70 - 71 -

arr = np.array([1] * 5, dtype="timedelta64[s]")

72 -

result = to_timedelta(arr)

73 -

expected = TimedeltaIndex([np.timedelta64(1, "s")] * 5)

74 -

tm.assert_index_equal(result, expected)

75 - 76 -

arr = np.array([1] * 5, dtype="timedelta64[D]")

77 -

result = to_timedelta(arr)

78 -

expected = TimedeltaIndex([np.timedelta64(1, "D")] * 5)

69 +

arr = np.array([1] * 5, dtype=dtype)

70 +

result = to_timedelta(arr, unit=unit)

71 +

expected = TimedeltaIndex([np.timedelta64(1, unit)] * 5)

79 72

tm.assert_index_equal(result, expected)

80 73 81 74

def test_to_timedelta_oob_non_nano(self):

@@ -91,31 +84,30 @@ def test_to_timedelta_oob_non_nano(self):

91 84

with pytest.raises(OutOfBoundsTimedelta, match=msg):

92 85

TimedeltaArray._from_sequence(arr)

93 86 94 -

def test_to_timedelta_dataframe(self):

87 +

@pytest.mark.parametrize(

88 +

"arg", [np.arange(10).reshape(2, 5), pd.DataFrame(np.arange(10).reshape(2, 5))]

89 +

)

90 +

@pytest.mark.parametrize("errors", ["ignore", "raise", "coerce"])

91 +

def test_to_timedelta_dataframe(self, arg, errors):

95 92

# GH 11776

96 -

arr = np.arange(10).reshape(2, 5)

97 -

df = pd.DataFrame(np.arange(10).reshape(2, 5))

98 -

for arg in (arr, df):

99 -

with pytest.raises(TypeError, match="1-d array"):

100 -

to_timedelta(arg)

101 -

for errors in ["ignore", "raise", "coerce"]:

102 -

with pytest.raises(TypeError, match="1-d array"):

103 -

to_timedelta(arg, errors=errors)

93 +

with pytest.raises(TypeError, match="1-d array"):

94 +

to_timedelta(arg, errors=errors)

104 95 105 -

def test_to_timedelta_invalid(self):

96 +

def test_to_timedelta_invalid_errors(self):

106 97 107 98

# bad value for errors parameter

108 99

msg = "errors must be one of"

109 100

with pytest.raises(ValueError, match=msg):

110 101

to_timedelta(["foo"], errors="never")

111 102 103 +

@pytest.mark.parametrize("arg", [[1, 2], 1])

104 +

def test_to_timedelta_invalid_unit(self, arg):

112 105

# these will error

113 106

msg = "invalid unit abbreviation: foo"

114 107

with pytest.raises(ValueError, match=msg):

115 -

to_timedelta([1, 2], unit="foo")

116 -

with pytest.raises(ValueError, match=msg):

117 -

to_timedelta(1, unit="foo")

108 +

to_timedelta(arg, unit="foo")

118 109 110 +

def test_to_timedelta_time(self):

119 111

# time not supported ATM

120 112

msg = (

121 113

"Value must be Timedelta, string, integer, float, timedelta or convertible"

@@ -124,10 +116,12 @@ def test_to_timedelta_invalid(self):

124 116

to_timedelta(time(second=1))

125 117

assert to_timedelta(time(second=1), errors="coerce") is pd.NaT

126 118 119 +

def test_to_timedelta_bad_value(self):

127 120

msg = "Could not convert 'foo' to NumPy timedelta"

128 121

with pytest.raises(ValueError, match=msg):

129 122

to_timedelta(["foo", "bar"])

130 123 124 +

def test_to_timedelta_bad_value_coerce(self):

131 125

tm.assert_index_equal(

132 126

TimedeltaIndex([pd.NaT, pd.NaT]),

133 127

to_timedelta(["foo", "bar"], errors="coerce"),

@@ -138,6 +132,7 @@ def test_to_timedelta_invalid(self):

138 132

to_timedelta(["1 day", "bar", "1 min"], errors="coerce"),

139 133

)

140 134 135 +

def test_to_timedelta_invalid_errors_ignore(self):

141 136

# gh-13613: these should not error because errors='ignore'

142 137

invalid_data = "apple"

143 138

assert invalid_data == to_timedelta(invalid_data, errors="ignore")

@@ -213,11 +208,10 @@ def test_to_timedelta_on_missing_values(self):

213 208

actual = to_timedelta(ser)

214 209

tm.assert_series_equal(actual, expected)

215 210 216 -

actual = to_timedelta(np.nan)

217 -

assert actual.value == timedelta_NaT.astype("int64")

218 - 219 -

actual = to_timedelta(pd.NaT)

220 -

assert actual.value == timedelta_NaT.astype("int64")

211 +

@pytest.mark.parametrize("val", [np.nan, pd.NaT])

212 +

def test_to_timedelta_on_missing_values_scalar(self, val):

213 +

actual = to_timedelta(val)

214 +

assert actual.value == np.timedelta64("NaT").astype("int64")

221 215 222 216

def test_to_timedelta_float(self):

223 217

# https://github.com/pandas-dev/pandas/issues/25077

@@ -237,16 +231,13 @@ def test_to_timedelta_ignore_strings_unit(self):

237 231

result = to_timedelta(arr, unit="ns", errors="ignore")

238 232

tm.assert_numpy_array_equal(result, arr)

239 233 240 -

def test_to_timedelta_nullable_int64_dtype(self):

234 +

@pytest.mark.parametrize(

235 +

"expected_val, result_val", [[timedelta(days=2), 2], [None, None]]

236 +

)

237 +

def test_to_timedelta_nullable_int64_dtype(self, expected_val, result_val):

241 238

# GH 35574

242 -

expected = Series([timedelta(days=1), timedelta(days=2)])

243 -

result = to_timedelta(Series([1, 2], dtype="Int64"), unit="days")

244 - 245 -

tm.assert_series_equal(result, expected)

246 - 247 -

# IntegerArray Series with nulls

248 -

expected = Series([timedelta(days=1), None])

249 -

result = to_timedelta(Series([1, None], dtype="Int64"), unit="days")

239 +

expected = Series([timedelta(days=1), expected_val])

240 +

result = to_timedelta(Series([1, result_val], dtype="Int64"), unit="days")

250 241 251 242

tm.assert_series_equal(result, expected)

252 243

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4