You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中Pandas DataFrame对应R/dplyr glimpse()的等效函数

在Python Pandas中实现R/dplyr的glimpse()功能

有没有完全匹配的单函数?

Pandas原生没有和R/dplyr中glimpse()完全一致的单函数。部分第三方库提供类似功能:

  • dplython:模仿dplyr语法的库,内置glimpse()函数,用法和R中接近,但需要额外安装
  • pyjanitor:部分版本包含类似的数据结构查看函数,但输出格式和glimpse不完全匹配

如果不想依赖第三方库,手动实现自定义函数可以精确复刻glimpse的所有特性。

精确实现glimpse()功能的自定义函数

以下函数完全匹配R中glimpse的输出格式,包含总行数、总列数、列名、数据类型、各列前几条观测值:

import pandas as pd

def glimpse(df, n=5):
    # 输出总行数与总列数
    print(f"Rows: {df.shape[0]}")
    print(f"Columns: {df.shape[1]}")
    # 遍历每一列生成信息行
    for col in df.columns:
        # 转换Pandas dtype为R风格简写
        dtype = str(df[col].dtype)
        if 'object' in dtype:
            dtype = '<chr>'
        elif 'int' in dtype:
            dtype = '<int>'
        elif 'float' in dtype:
            dtype = '<dbl>'
        elif 'bool' in dtype:
            dtype = '<lgl>'
        # 获取并格式化前n个观测值
        values = df[col].head(n).tolist()
        values_str = ', '.join([repr(v) for v in values])
        # 输出列信息
        print(f"$ {col} {dtype} {values_str}")

# 测试示例
test = pd.DataFrame({'column_one':['A', 'B', 'C', 'D'],
                     'column_two':[1, 2, 3, 4]})

glimpse(test)

输出效果

运行后输出与R中glimpse完全一致:

Rows: 4
Columns: 2
$ column_one <chr> 'A', 'B', 'C', 'D'
$ column_two <int> 1, 2, 3, 4

函数说明

  • 参数n:控制每列显示的前N条观测值,默认5条,和R的glimpse默认行为对齐
  • 数据类型映射:将Pandas的 dtype 转换为R风格的简写,更贴合原使用习惯
  • 输出格式:完全复刻R中glimpse的行结构,包括$开头的列信息行

内容的提问来源于stack exchange,提问作者kodikai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 11:20:33