dav*_*les 11 python python-polars
在Polars中,如何为 中的所有列指定单一 dtype read_csv?
根据docs, 的dtypes参数read_csv可以采用 形式的映射(字典){'column_name': dtype},也可以采用 dtypes 列表,每一列一个。但是,尚不清楚如何指定“我希望所有列都是单一数据类型”。
例如,如果您希望所有列均为 Utf-8 并且您知道列总数,则可以执行以下操作:
pl.read_csv('sample.csv', dtypes=[pl.Utf8]*number_of_columns)
Run Code Online (Sandbox Code Playgroud)
但是,如果您不知道总列数,则此方法不起作用。在 Pandas 中,你可以这样做:
pd.read_csv('sample.csv', dtype=str)
Run Code Online (Sandbox Code Playgroud)
但这在Polars中不起作用。
rit*_*e46 15
将 csv 中的所有数据读取为任何其他类型可能pl.Utf8会因大量null值而失败。我们可以使用表达式来声明我们想要如何处理这些空值。
如果您使用 读取 csv infer_schema_length=0,polars 不知道架构,并且会读取所有列,因为pl.Utf8它是所有 Polars 类型的超类型。
当阅读时,Utf8我们可以使用表达式来转换所有列。
(pl.read_csv("test.csv", infer_schema_length=0)
.with_columns(pl.all().cast(pl.Int32, strict=False))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15065 次 |
| 最近记录: |