pandas描述全部数据的情况(空值个数,类别个数,数据类型)

本文介绍了如何使用Pandas的describe方法快速查看数据集的数值统计信息,并展示了一个自定义函数get_statistics,该函数可以获取数据集中包括空值、唯一值和数据类型的全面统计,适用于数值和分类数据。通过示例展示了对泰坦尼克号训练集的分析,帮助理解数据集的基本特征。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果想在pandas中查看数据情况,我们一般使用describe方法

df = pd.DataFrame({'Yes': [50, 21, 53, 70, 21], 'No': [131, 2, 98, 1, 3],'not':['1','s',1,2,3]})
print(df.describe())

输出为

             Yes          No
count   5.000000    5.000000
mean   43.000000   47.000000
std    21.482551   62.717621
min    21.000000    1.000000
25%    21.000000    2.000000
50%    50.000000    3.000000
75%    53.000000   98.000000
max    70.000000  131.000000

可见,describe只对数值数据有效,对categorical数据无效,如果我们想要对所有的数据分析,不妨自己写一个简单的函数

def get_statistics(df:pd.DataFrame):
    assert len(df.index) != 0 # 断言不为空
    
    null_series = df.isnull().sum() # 空值个数
    unique = df.nunique()           # 类别个数
    type_series = df.dtypes         # 数据类型
    
    result = pd.DataFrame({'null':null_series,'unique':unique,'type':type_series})
    print(result)
    shape = df.shape
    print('this dataFrame with {} rows x {} columns'.format(shape[0],shape[1]))

以泰坦尼克号数据集中的训练集为例

df = pd.read_csv('train.csv')
get_statistics(df)

输出

             null  unique     type
PassengerId     0     891    int64
Survived        0       2    int64
Pclass          0       3    int64
Name            0     891   object
Sex             0       2   object
Age           177      88  float64
SibSp           0       7    int64
Parch           0       7    int64
Ticket          0     681   object
Fare            0     248  float64
Cabin         687     147   object
Embarked        2       3   object
this dataFrame with 891 rows x 12 columns

可以看到,数据最简单的情况已经拿到了。当然,我们还可以把get_statistics和describe的结果进行合并,但是由于包含的列不一样,输出时categorical数据会有几列是空的,不太美观。而我们的get_statistics函数统计的是更一般的特征,对数据集有了一些把握。

如果我们还要更细粒度的数据类型分割,不妨去这里(doge)

更细粒度的数据类型分割

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值