framework
framework copied to clipboard
Pandas warning "Comparison of Timestamp"
trafficstars
Overview
In v5 branch for this test:
def test_pandas_parser_write_types():
source = Package("data/storage/types.json").get_resource("types")
target = source.write(format="pandas")
with target:
# Assert schema
assert target.schema.to_descriptor() == {
"fields": [
{"name": "any", "type": "string"}, # type fallback
{"name": "array", "type": "array"},
{"name": "boolean", "type": "boolean"},
{"name": "date", "type": "datetime"},
{"name": "date_year", "type": "datetime"}, # format removal
{"name": "datetime", "type": "datetime"},
{"name": "duration", "type": "duration"},
{"name": "geojson", "type": "object"},
{"name": "geopoint", "type": "array"},
{"name": "integer", "type": "integer"},
{"name": "number", "type": "number"},
{"name": "object", "type": "object"},
{"name": "string", "type": "string"},
{"name": "time", "type": "time"},
{"name": "year", "type": "integer"}, # type downgrade
{"name": "yearmonth", "type": "array"}, # type downgrade
],
}
# Assert rows
assert target.read_rows() == [
{
"any": "中国人",
"array": ["Mike", "John"],
"boolean": True,
"date": date(2015, 1, 1),
"date_year": date(2015, 1, 1),
"datetime": datetime(2015, 1, 1, 3, 0),
"duration": isodate.parse_duration("P1Y1M"),
"geojson": {"type": "Point", "coordinates": [33, 33.33]},
"geopoint": [30, 70],
"integer": 1,
"number": 7,
"object": {"chars": 560},
"string": "english",
"time": time(3, 0),
"year": 2015,
"yearmonth": [2015, 1],
},
]
We get a warning:
FutureWarning: Comparison of Timestamp with datetime.date is deprecated in order to match the standard library behavior. In a future version these will be considered non-comparable. Use 'ts == pd.Timestamp(date)' or 'ts.date() == date' instead.
return super().__eq__(other)