@@ -1936,6 +1936,70 @@ def test_constructor_datetimes_with_nulls(self, arr):
1936
1936
expected = Series ([np .dtype ("datetime64[ns]" )])
1937
1937
tm .assert_series_equal (result , expected )
1938
1938
1939
+ @pytest .mark .parametrize ("order" , ["K" , "A" , "C" , "F" ])
1940
+ @pytest .mark .parametrize (
1941
+ "dtype" ,
1942
+ [
1943
+ "datetime64[M]" ,
1944
+ "datetime64[D]" ,
1945
+ "datetime64[h]" ,
1946
+ "datetime64[m]" ,
1947
+ "datetime64[s]" ,
1948
+ "datetime64[ms]" ,
1949
+ "datetime64[us]" ,
1950
+ "datetime64[ns]" ,
1951
+ ],
1952
+ )
1953
+ def test_constructor_datetimes_non_ns (self , order , dtype ):
1954
+ na = np .array (
1955
+ [
1956
+ ["2015-01-01" , "2015-01-02" , "2015-01-03" ],
1957
+ ["2017-01-01" , "2017-01-02" , "2017-02-03" ],
1958
+ ],
1959
+ dtype = dtype ,
1960
+ order = order ,
1961
+ )
1962
+ df = DataFrame (na )
1963
+ expected = DataFrame (
1964
+ [
1965
+ ["2015-01-01" , "2015-01-02" , "2015-01-03" ],
1966
+ ["2017-01-01" , "2017-01-02" , "2017-02-03" ],
1967
+ ]
1968
+ )
1969
+ expected = expected .astype (dtype = dtype )
1970
+ tm .assert_frame_equal (df , expected )
1971
+
1972
+ @pytest .mark .parametrize ("order" , ["K" , "A" , "C" , "F" ])
1973
+ @pytest .mark .parametrize (
1974
+ "dtype" ,
1975
+ [
1976
+ "timedelta64[D]" ,
1977
+ "timedelta64[h]" ,
1978
+ "timedelta64[m]" ,
1979
+ "timedelta64[s]" ,
1980
+ "timedelta64[ms]" ,
1981
+ "timedelta64[us]" ,
1982
+ "timedelta64[ns]" ,
1983
+ ],
1984
+ )
1985
+ def test_constructor_timedelta_non_ns (self , order , dtype ):
1986
+ na = np .array (
1987
+ [
1988
+ [np .timedelta64 (1 , "D" ), np .timedelta64 (2 , "D" )],
1989
+ [np .timedelta64 (4 , "D" ), np .timedelta64 (5 , "D" )],
1990
+ ],
1991
+ dtype = dtype ,
1992
+ order = order ,
1993
+ )
1994
+ df = DataFrame (na ).astype ("timedelta64[ns]" )
1995
+ expected = DataFrame (
1996
+ [
1997
+ [Timedelta (1 , "D" ), Timedelta (2 , "D" )],
1998
+ [Timedelta (4 , "D" ), Timedelta (5 , "D" )],
1999
+ ],
2000
+ )
2001
+ tm .assert_frame_equal (df , expected )
2002
+
1939
2003
def test_constructor_for_list_with_dtypes (self ):
1940
2004
# test list of lists/ndarrays
1941
2005
df = DataFrame ([np .arange (5 ) for x in range (5 )])
0 commit comments