Closed koaning closed 7 months ago
hi @koaning, thanks for reporting! any chance the CSV file is public or something you could share to make reproduction a bit easier?
I was able to reproduce this on 8.0.0, but not on main
-- we will be releasing 9.0.0 fairly soon, but upgrading from one of the prereleases (pip install --pre ibis-framework[duckdb]
) or directly from main (pip install git+https://github.com/ibis-project/ibis
) might fix this for you
It's this dataset but I'll try to whip up something more reproducible in a bit. I just learned my shiny new expensive keyboard arrived at the depot and I gotta pick that up first 😅
8.0.0:
main:
[ins] In [1]: import ibis
[ins] In [2]: ibis.options.interactive = True
[ins] In [3]: t = ibis.read_csv("temp/steam/steam.csv")
[ins] In [4]: t
Out[4]:
┏━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━┓
┃ appid ┃ name ┃ release_date ┃ english ┃ developer ┃ publisher ┃ platforms ┃ required_age ┃ … ┃
┡━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━┩
│ int64 │ string │ date │ int64 │ string │ string │ string │ int64 │ … │
├───────┼────────────────────────────────┼──────────────┼─────────┼──────────────────┼───────────┼───────────────────┼──────────────┼───┤
│ 10 │ Counter-Strike │ 2000-11-01 │ 1 │ Valve │ Valve │ windows;mac;linux │ 0 │ … │
│ 20 │ Team Fortress Classic │ 1999-04-01 │ 1 │ Valve │ Valve │ windows;mac;linux │ 0 │ … │
│ 30 │ Day of Defeat │ 2003-05-01 │ 1 │ Valve │ Valve │ windows;mac;linux │ 0 │ … │
│ 40 │ Deathmatch Classic │ 2001-06-01 │ 1 │ Valve │ Valve │ windows;mac;linux │ 0 │ … │
│ 50 │ Half-Life: Opposing Force │ 1999-11-01 │ 1 │ Gearbox Software │ Valve │ windows;mac;linux │ 0 │ … │
│ 60 │ Ricochet │ 2000-11-01 │ 1 │ Valve │ Valve │ windows;mac;linux │ 0 │ … │
│ 70 │ Half-Life │ 1998-11-08 │ 1 │ Valve │ Valve │ windows;mac;linux │ 0 │ … │
│ 80 │ Counter-Strike: Condition Zero │ 2004-03-01 │ 1 │ Valve │ Valve │ windows;mac;linux │ 0 │ … │
│ 130 │ Half-Life: Blue Shift │ 2001-06-01 │ 1 │ Gearbox Software │ Valve │ windows;mac;linux │ 0 │ … │
│ 220 │ Half-Life 2 │ 2004-11-16 │ 1 │ Valve │ Valve │ windows;mac;linux │ 0 │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │
└───────┴────────────────────────────────┴──────────────┴─────────┴──────────────────┴───────────┴───────────────────┴──────────────┴───┘
[ins] In [5]: t.to_pandas()
Out[5]:
appid name release_date english ... average_playtime median_playtime owners price
0 10 Counter-Strike 2000-11-01 1 ... 17612 317 10000000-20000000 7.19
1 20 Team Fortress Classic 1999-04-01 1 ... 277 62 5000000-10000000 3.99
2 30 Day of Defeat 2003-05-01 1 ... 187 34 5000000-10000000 3.99
3 40 Deathmatch Classic 2001-06-01 1 ... 258 184 5000000-10000000 3.99
4 50 Half-Life: Opposing Force 1999-11-01 1 ... 624 415 5000000-10000000 3.99
... ... ... ... ... ... ... ... ... ...
27070 1065230 Room of Pandora 2019-04-24 1 ... 0 0 0-20000 2.09
27071 1065570 Cyber Gun 2019-04-23 1 ... 0 0 0-20000 1.69
27072 1065650 Super Star Blast 2019-04-24 1 ... 0 0 0-20000 3.99
27073 1066700 New Yankee 7: Deer Hunters 2019-04-17 1 ... 0 0 0-20000 5.19
27074 1069460 Rune Lord 2019-04-24 1 ... 0 0 0-20000 5.19
[27075 rows x 18 columns]
there was a very large refactor of the internals after 8 was released, and it seems like this specific issue (along with many others) was fixed
Given that somebody beat me to confirming it, I feel confident this can be closed. Thanks all!
What happened?
I am working with a table of steam games that looks like this:
Note that I am reading a CSV here and that DuckDB correctly picks up the date column as a date, pandas does not do that automatically so it's nice to see. However, if I now do this:
Then I get an error.
This feels like a translation issue. In 2023 pandas may have stopped supporting this kind of datetime type.
What version of ibis are you using?
8.0.0
What backend(s) are you using, if any?
DuckDB
Relevant log output