微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当我执行pandas分析包时,它不会返回最小值,最大值和平均值

如何解决当我执行pandas分析包时,它不会返回最小值,最大值和平均值

当我使用 pandas-profiling == 2.8.0 对以下数据进行分析时,它不会返回最小值,最大值和平均值。

CSV数据

a,b,c
12,2.5,0
12,4.7,5
33,5,4
44,44.21,67

python代码

import json
import pandas as pd
from pandas_profiling import ProfileReport

def profile_report(data):
    dataset = data.select_dtypes(include=['int64','float64'])  
    profile=ProfileReport(dataset,minimal=True)
    json_data=profile.to_json()
    results = json.loads(json_data)
    print(json.dumps(results,indent=4))

if __name__ == "__main__":
    df = pd.read_csv('data.csv',index_col=None)
    profile_report(df)

在某些情况下,它可以正常工作,并返回最小值,最大值和平均值。但是当我在csv数据之上执行时,它不会返回该值

解决方法

对于元素数少于给定数(例如5)的数据集,pandas分析假定您的变量是分类的,而不是区间的。

使用vars.num.low_categorical_threshold参数更改此(docs

示例:

profile = ProfileReport(dataset,minimal=True,vars=dict(num={"low_categorical_threshold": 0}))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。