Я не могу сделать стол с пандами - PullRequest
0 голосов
/ 17 декабря 2018

У меня проблема с этим кодом, по какой-то причине он не работает.но две функции я сделал почти то же самое, но во второй код не работал, и я не знаю почему.

здесь следует код:

    import numpy
    import pandas
    import statsmodels.api as sm
    def simple_heuristic(file_path):
        id_pass = []
        name = []
        suviver = []
        df = pandas.read_csv(file_path)
        for passenger_index, passenger in df.iterrows():
            passenger_id = passenger['PassengerId']

            if passenger['Sex'] == 'male':
                id_pass.append(passenger_id)
                name.append(passenger['Name'])
                suviver.append(1)
            else:
                id_pass.append(passenger_id)
                name.append(passenger['Name'])
                suviver.append(0)

        predictions = {'id':pandas.Series(id_pass),
                        'Name': name,
                        'Suviver': pandas.Series(suviver)}

        return pandas.DataFrame(predictions)
    def complex_heuristic(file_path):
        id_pass = []
        name = []
        sex = []
        suviver =[]
        socileco = []
        df = pandas.read_csv(file_path)
        for passenger_index, passenger in df.iterrows():
            passenger_id = passenger['PassengerId']

            if passenger['Sex'] == 'female' or (passenger['Age'] < 18 and passenger['Pclass']==1) :
                id_pass.append(passenger_id)
                name.append(passenger['Name'])
                suviver.append(1)
            else:
                id_pass.append( passenger_id)
                #name.append(passenger['Name'])
                #sex.append(passenger['Sex'])
                suviver.append(0)
                #socileco.append(passenger['Pclass'])

        predictions = {'Idx' : pandas.Series(id_pass),
                        'Name': name,
                        'Sobreviveu': pandas.Series(suviver)},
        return pandas.DataFrame(predictions)
    print simple_heuristic('titanic-data.csv')
    print complex_heuristic('titanic-data.csv')

Но всегда, когда я пытаюсь запустить код, я получаю ту же ошибку

File "heuristic.py", line 161, in <module>
    print complex_heuristic('titanic-data.csv')
  File "heuristic.py", line 159, in complex_heuristic
    return pandas.DataFrame(predictions)
  File "/usr/local/lib/python2.7/dist-packages/pandas/core/frame.py", line 422, in __init__
    raise ValueError('DataFrame constructor not properly called!')
ValueError: DataFrame constructor not properly called!

Я делал то же самое, но в одном из них код работал, а во втором - нет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...