PERF: Some faster date/time string formatting (#46759) · pandas-dev/pandas@55d9dcf (original) (raw)
`@@ -39,6 +39,8 @@ def setup(self, connection):
`
39
39
`index=tm.makeStringIndex(N),
`
40
40
` )
`
41
41
`self.df.loc[1000:3000, "float_with_nan"] = np.nan
`
``
42
`+
self.df["date"] = self.df["datetime"].dt.date
`
``
43
`+
self.df["time"] = self.df["datetime"].dt.time
`
42
44
`self.df["datetime_string"] = self.df["datetime"].astype(str)
`
43
45
`self.df.to_sql(self.table_name, self.con, if_exists="replace")
`
44
46
``
`@@ -53,7 +55,16 @@ class WriteSQLDtypes:
`
53
55
``
54
56
`params = (
`
55
57
` ["sqlalchemy", "sqlite"],
`
56
``
`-
["float", "float_with_nan", "string", "bool", "int", "datetime"],
`
``
58
`+
[
`
``
59
`+
"float",
`
``
60
`+
"float_with_nan",
`
``
61
`+
"string",
`
``
62
`+
"bool",
`
``
63
`+
"int",
`
``
64
`+
"date",
`
``
65
`+
"time",
`
``
66
`+
"datetime",
`
``
67
`+
],
`
57
68
` )
`
58
69
`param_names = ["connection", "dtype"]
`
59
70
``
`@@ -78,6 +89,8 @@ def setup(self, connection, dtype):
`
78
89
`index=tm.makeStringIndex(N),
`
79
90
` )
`
80
91
`self.df.loc[1000:3000, "float_with_nan"] = np.nan
`
``
92
`+
self.df["date"] = self.df["datetime"].dt.date
`
``
93
`+
self.df["time"] = self.df["datetime"].dt.time
`
81
94
`self.df["datetime_string"] = self.df["datetime"].astype(str)
`
82
95
`self.df.to_sql(self.table_name, self.con, if_exists="replace")
`
83
96
``
`@@ -105,6 +118,8 @@ def setup(self):
`
105
118
`index=tm.makeStringIndex(N),
`
106
119
` )
`
107
120
`self.df.loc[1000:3000, "float_with_nan"] = np.nan
`
``
121
`+
self.df["date"] = self.df["datetime"].dt.date
`
``
122
`+
self.df["time"] = self.df["datetime"].dt.time
`
108
123
`self.df["datetime_string"] = self.df["datetime"].astype(str)
`
109
124
`self.df.to_sql(self.table_name, self.con, if_exists="replace")
`
110
125
``
`@@ -122,7 +137,16 @@ def time_read_sql_table_parse_dates(self):
`
122
137
``
123
138
`class ReadSQLTableDtypes:
`
124
139
``
125
``
`-
params = ["float", "float_with_nan", "string", "bool", "int", "datetime"]
`
``
140
`+
params = [
`
``
141
`+
"float",
`
``
142
`+
"float_with_nan",
`
``
143
`+
"string",
`
``
144
`+
"bool",
`
``
145
`+
"int",
`
``
146
`+
"date",
`
``
147
`+
"time",
`
``
148
`+
"datetime",
`
``
149
`+
]
`
126
150
`param_names = ["dtype"]
`
127
151
``
128
152
`def setup(self, dtype):
`
`@@ -141,6 +165,8 @@ def setup(self, dtype):
`
141
165
`index=tm.makeStringIndex(N),
`
142
166
` )
`
143
167
`self.df.loc[1000:3000, "float_with_nan"] = np.nan
`
``
168
`+
self.df["date"] = self.df["datetime"].dt.date
`
``
169
`+
self.df["time"] = self.df["datetime"].dt.time
`
144
170
`self.df["datetime_string"] = self.df["datetime"].astype(str)
`
145
171
`self.df.to_sql(self.table_name, self.con, if_exists="replace")
`
146
172
``