0

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

CSV 数据

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

蟒蛇代码

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 数据上方执行时,它不会返回该值

4

1 回答 1

1

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

使用vars.num.low_categorical_threshold参数来改变它(文档

例子:

profile = ProfileReport(dataset, minimal=True, vars=dict(num={"low_categorical_threshold": 0}))
于 2020-09-17T16:25:51.053 回答