File tree 4 files changed +26
-9
lines changed 4 files changed +26
-9
lines changed Original file line number Diff line number Diff line change @@ -142,7 +142,9 @@ pandas 0.7.0
142
142
- Fix bug related to integer type-checking in .ix-based indexing
143
143
- Handle non-string index name passed to DataFrame.from_records
144
144
- DataFrame.insert caused the columns name(s) field to be discarded (GH #527)
145
- - Fix erroneous in monotonic many-to-one left joins
145
+ - Fix error in monotonic many-to-one left joins
146
+ - Fix __eq__ comparison between DateOffsets with different relativedelta
147
+ keywords passed
146
148
147
149
Thanks
148
150
------
@@ -162,6 +164,7 @@ Thanks
162
164
- Ted Square
163
165
- Dieter Vandenbussche
164
166
- Texas P.
167
+ - Pinxing Ye
165
168
166
169
pandas 0.6.1
167
170
============
Original file line number Diff line number Diff line change 27
27
28
28
# Prepare Database
29
29
import sqlite3
30
- create_sql_indexes = False
30
+ create_sql_indexes = True
31
31
32
32
conn = sqlite3 .connect (':memory:' )
33
33
conn .execute ('create table left( key varchar(10), key2 varchar(10), value int);' )
48
48
niter = 5
49
49
for sort in [False ]:
50
50
for join_method in join_methods :
51
- sql = """select *
51
+ sql = """CREATE TABLE test as select *
52
52
from left
53
53
%s join right
54
54
on left.key=right.key
55
- and left.key2 = right.key2""" % join_method
55
+ and left.key2 = right.key2; """ % join_method
56
56
if sort :
57
57
sql = '%s order by key, key2' % sql
58
58
f = lambda : list (conn .execute (sql )) # list fetches results
59
59
g = lambda : conn .execute (sql ) # list fetches results
60
60
gc .disable ()
61
61
start = time .time ()
62
- for _ in xrange (niter ):
63
- f ()
62
+ # for _ in xrange(niter):
63
+ g ()
64
64
elapsed = (time .time () - start ) / niter
65
65
gc .enable ()
66
+
67
+ cur = conn .execute ("DROP TABLE test" )
68
+ conn .commit ()
69
+
66
70
sql_results [sort ][join_method ] = elapsed
67
71
sql_results .columns = ['sqlite3' ] # ['dont_sort', 'sort']
68
72
sql_results .index = ['inner' , 'outer' , 'left' ]
Original file line number Diff line number Diff line change @@ -130,8 +130,11 @@ def copy(self):
130
130
return self .__class__ (self .n , ** self .kwds )
131
131
132
132
def _params (self ):
133
- attrs = sorted ((item for item in self .__dict__ .iteritems ()
134
- if item [0 ] not in ('kwds' , '_offset' )))
133
+ attrs = [(k , v ) for k , v in vars (self ).iteritems ()
134
+ if k not in ['kwds' , '_offset' ]]
135
+ attrs .extend (self .kwds .items ())
136
+ attrs = sorted (set (attrs ))
137
+
135
138
params = tuple ([str (self .__class__ )] + attrs )
136
139
return params
137
140
Original file line number Diff line number Diff line change @@ -41,7 +41,7 @@ def test_normalize_date():
41
41
### DateOffset Tests
42
42
#####
43
43
44
- class TestDateOffset (object ):
44
+ class TestDateOffset (unittest . TestCase ):
45
45
46
46
def setUp (self ):
47
47
self .d = datetime (2008 , 1 , 2 )
@@ -72,6 +72,13 @@ def test_constructor(self):
72
72
def test_copy (self ):
73
73
assert (DateOffset (months = 2 ).copy () == DateOffset (months = 2 ))
74
74
75
+ def test_eq (self ):
76
+ offset1 = DateOffset (days = 1 )
77
+ offset2 = DateOffset (days = 365 )
78
+
79
+ self .assert_ (offset1 != offset2 )
80
+ self .assert_ (not (offset1 == offset2 ))
81
+
75
82
class TestBusinessDay (unittest .TestCase ):
76
83
77
84
def setUp (self ):
You can’t perform that action at this time.
0 commit comments