Как сделать профиль данных для таблицы с помощью pandas_profiling - PullRequest
0 голосов
/ 04 апреля 2019

Когда я пытаюсь выполнить профилирование данных одной таблицы сервера sql с помощью pandas_profiling, выдавая ошибку типа

Была предпринята попытка запустить новый процесс до того, как текущий процесс завершит свою фазу начальной загрузки.

    This probably means that you are not using fork to start your
    child processes and you have forgotten to use the proper idiom
    in the main module:

        if __name__ == '__main__':
            freeze_support()
            ...

    The "freeze_support()" line can be omitted if the program
    is not going to be frozen to produce an executable.

Это код, который я использую для запуска, я не мог понять, как решить эту проблему.

import pandas as pd
import pandas_profiling


df=pd.DataFrame(read)
profile=pandas_profiling.ProfileReport(df)

enter code here

Я ожидаю увидеть результат профилированияприведенная таблица:

enter image description here

1 Ответ

1 голос
/ 23 июня 2019

попробуйте использовать multiprocessing.freeze_support (), как показано ниже:

import multiprocessing
import numpy as np
import pandas as pd
import pandas_profiling


def test_profile():
    df = pd.DataFrame(
        np.random.rand(100, 5),
        columns=['a', 'b', 'c', 'd', 'e']
    )

    profile = pandas_profiling.ProfileReport(df)
    profile.to_file(outputfile="output.html")


if __name__ == '__main__':
    multiprocessing.freeze_support()
    test_profile()
...