11
11
12
12
class TestSeriesDiff :
13
13
def test_diff_np (self ):
14
- pytest .skip ("skipping due to Series no longer being an ndarray" )
14
+ # TODO(__array_function__): could make np.diff return a Series
15
+ # matching ser.diff()
15
16
16
- # no longer works as the return type of np.diff is now nd.array
17
- s = Series (np .arange (5 ))
17
+ ser = Series (np .arange (5 ))
18
18
19
- r = np .diff (s )
20
- tm .assert_series_equal (Series ([np .nan , 0 , 0 , 0 , np .nan ]), r )
19
+ res = np .diff (ser )
20
+ expected = np .array ([1 , 1 , 1 , 1 ])
21
+ tm .assert_numpy_array_equal (res , expected )
21
22
22
23
def test_diff_int (self ):
23
24
# int dtype
24
25
a = 10000000000000000
25
26
b = a + 1
26
- s = Series ([a , b ])
27
+ ser = Series ([a , b ])
27
28
28
- result = s .diff ()
29
+ result = ser .diff ()
29
30
assert result [1 ] == 1
30
31
31
32
def test_diff_tz (self ):
@@ -43,22 +44,24 @@ def test_diff_tz(self):
43
44
expected = ts - ts
44
45
tm .assert_series_equal (result , expected )
45
46
47
+ def test_diff_dt64 (self ):
46
48
# datetime diff (GH#3100)
47
- s = Series (date_range ("20130102" , periods = 5 ))
48
- result = s .diff ()
49
- expected = s - s .shift (1 )
49
+ ser = Series (date_range ("20130102" , periods = 5 ))
50
+ result = ser .diff ()
51
+ expected = ser - ser .shift (1 )
50
52
tm .assert_series_equal (result , expected )
51
53
52
54
# timedelta diff
53
55
result = result - result .shift (1 ) # previous result
54
56
expected = expected .diff () # previously expected
55
57
tm .assert_series_equal (result , expected )
56
58
59
+ def test_diff_dt64tz (self ):
57
60
# with tz
58
- s = Series (
61
+ ser = Series (
59
62
date_range ("2000-01-01 09:00:00" , periods = 5 , tz = "US/Eastern" ), name = "foo"
60
63
)
61
- result = s .diff ()
64
+ result = ser .diff ()
62
65
expected = Series (TimedeltaIndex (["NaT" ] + ["1 days" ] * 4 ), name = "foo" )
63
66
tm .assert_series_equal (result , expected )
64
67
@@ -68,14 +71,14 @@ def test_diff_tz(self):
68
71
)
69
72
def test_diff_bool (self , input , output , diff ):
70
73
# boolean series (test for fixing #17294)
71
- s = Series (input )
72
- result = s .diff ()
74
+ ser = Series (input )
75
+ result = ser .diff ()
73
76
expected = Series (output )
74
77
tm .assert_series_equal (result , expected )
75
78
76
79
def test_diff_object_dtype (self ):
77
80
# object series
78
- s = Series ([False , True , 5.0 , np .nan , True , False ])
79
- result = s .diff ()
80
- expected = s - s .shift (1 )
81
+ ser = Series ([False , True , 5.0 , np .nan , True , False ])
82
+ result = ser .diff ()
83
+ expected = ser - ser .shift (1 )
81
84
tm .assert_series_equal (result , expected )
0 commit comments