Polars中是否有等价于Pandas dtypes的命令?如何获取列名与类型?
在Polars里,df.dtypes确实只会返回数据类型的列表,要同时拿到列名和对应类型,有几种简单实用的方法:
方法1:直接用df.schema
这是最直接的方式,df.schema会返回一个列名到数据类型的字典,一眼就能看到对应关系:
import polars as pl # 示例DataFrame df = pl.DataFrame({ "username": ["john_doe", "jane_smith"], "signup_date": pl.date_range(start="2023-01-01", end="2023-01-02", interval="1d"), "score": [85.5, 92.0] }) # 打印列名与类型的字典 print(df.schema)
输出示例:
{'username': String, 'signup_date': Date, 'score': Float64}
方法2:用zip配对列名和类型
如果需要逐行输出或者自定义展示格式,可以把df.columns(列名列表)和df.dtypes(类型列表)用zip配对遍历:
# 遍历并打印每列的名称和类型 for col, dtype in zip(df.columns, df.dtypes): print(f"列名: {col}, 数据类型: {dtype}")
输出示例:
列名: username, 数据类型: String 列名: signup_date, 数据类型: Date 列名: score, 数据类型: Float64
方法3:转换成DataFrame格式查看
如果想以表格形式更直观地查看,可以把配对后的结果转成一个新的Polars DataFrame:
type_df = pl.DataFrame({ "列名": df.columns, "数据类型": df.dtypes }) print(type_df)
输出示例:
shape: (3, 2) ┌─────────────┬─────────────┐ │ 列名 ┆ 数据类型 │ │ --- ┆ --- │ │ str ┆ dtype │ ╞═════════════╪═════════════╡ │ username ┆ String │ │ signup_date ┆ Date │ │ score ┆ Float64 │ └─────────────┴─────────────┘
内容的提问来源于stack exchange,提问作者cjgorricho
相关产品推荐
相关产品推荐

