Skip to content

Commit bc0014a

Browse files
committed
Fix broken test
1 parent 5827731 commit bc0014a

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

pandas/io/stata.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -393,8 +393,8 @@ def parse_dates_safe(
393393
d["days"] = np.asarray(diff).astype("m8[D]").view("int64")
394394

395395
elif infer_dtype(dates, skipna=False) == "datetime":
396-
# - Deprecated casting object-dtype columns of datetimes to datetime64 when writing to stata; call df=df.infer_objects() before writing to stata instead (:issue:`??`)
397396
warnings.warn(
397+
# GH#56536
398398
"Converting object-dtype columns of datetimes to datetime64 when "
399399
"writing to stata is deprecated. Call "
400400
"`df=df.infer_objects(copy=False)` before writing to stata instead.",
@@ -405,10 +405,10 @@ def parse_dates_safe(
405405
delta = dates._values - stata_epoch
406406

407407
def f(x: timedelta) -> float:
408-
return US_PER_DAY * x.days + 1000000 * x.seconds + x.microseconds
408+
return US_PER_DAY * x.days + 1_000_000 * x.seconds + x.microseconds
409409

410410
v = np.vectorize(f)
411-
d["delta"] = v(delta)
411+
d["delta"] = v(delta) // 1_000 # convert back to ms
412412
if year:
413413
year_month = dates.apply(lambda x: 100 * x.year + x.month)
414414
d["year"] = year_month._values // 100

pandas/tests/io/test_stata.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1034,8 +1034,9 @@ def test_big_dates(self, datapath, temp_file):
10341034
"Converting object-dtype columns of datetimes to datetime64 "
10351035
"when writing to stata is deprecated"
10361036
)
1037+
exp_object = expected.astype(object)
10371038
with tm.assert_produces_warning(FutureWarning, match=msg):
1038-
expected.to_stata(path, convert_dates=date_conversion)
1039+
exp_object.to_stata(path, convert_dates=date_conversion)
10391040
written_and_read_again = self.read_dta(path)
10401041

10411042
tm.assert_frame_equal(

0 commit comments

Comments
 (0)