TypeError: Несоответствие между массивом dtype ('object') и спецификатором формата ('% d% d') `при сохранении файла pandas в текст - PullRequest
0 голосов
/ 22 сентября 2018

Я пытаюсь сохранить строку значений панды в текстовый файл, но я получаю Error: TypeError: Mismatch between array dtype ('object') and format specifier ('%d %d') Может кто-нибудь объяснить мне, что это значит и как это исправить?Что я хочу сделать, так это то, что каждый раз, когда эта функция вызывается, в этот текстовый файл записывается новая строка со значениями 3 панды, и, если файл не существует, он должен быть создан

lambda_pathlet=0.001
pathlets_learned=30
trajectory_amount=65

def saveLambdaAndFrequency(lambdaPathlet, pathlets_learned,trajectory_amount):
    columns = ["lambda", "pathlets_learned", "trajectory_amount"]
    df_lambda_pathlets=pd.DataFrame(columns)
    df_lambda_pathlets = df_lambda_pathlets.set_value(lambdaPathlet, pathlets_learned,trajectory_amount)
    res= "\"lambda\" \"pathlets_learned\" \"trajectory_amount\""
    lambda_auswertung = 'Lambda_Pathlet_Auswertung.txt'
    f = open(lambda_auswertung, 'w+')
    with open(lambda_auswertung, 'w+') as f:
        np.savetxt(f,df_lambda_pathlets.values,comments='',fmt='%d',header=res)
    f.close()

1 Ответ

0 голосов
/ 22 сентября 2018

Поскольку ваши данные имеют тип object, вы должны распечатать их, используя fmt='%s', чтобы получить str() преобразование каждого значения, а не fmt='%d', который преобразуется в целые числа.

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