df.replace () не преобразуется в текстовый или CSV-файл - PullRequest
0 голосов
/ 07 октября 2019

Когда я использую: df = df.replace (oldvalue, newvalue), он заменяет файл, но когда я пытаюсь поместить новый фрейм данных в текстовый файл или файл csv, он не обновляется и продолжает оставатьсяоригинальный вывод перед заменой.

Я получаю данные из двух файлов и пытаюсь добавить их вместе. Сейчас я пытаюсь изменить форматирование в соответствии с исходным форматированием.

Я пытался изменить расположение замены, а также несколько раз редактировал мою команду df.replace, чтобы включить regrex = True, to_replace, value = и другие мелочи. Ниже приведен небольшой пример кода.

    drdf['adg'] = adgvals #adds adg values into dataframe 
    for column, valuex in drdf.iteritems():
        #value = value.replace('444.000', '444.0')
        for indv in valuex:
            valuex = valuex.replace('444.000', '444.0')
        for difindv in valuex: 
            fourspace = '    ' 
            if len(difindv) == 2:
                indv1 = difindv + fourspace
                value1 = valuex.replace(difindv, indv1)
            drdf = drdf.replace(to_replace=valuex, value=value1)

    #Transfers new dataframe into new text file
    np.savetxt(r'/Users/username/test.txt', drdf.values, fmt='%s', delimiter='' )
    drdf.to_csv(r'/Users/username/089010219.tot')

Следует заменить значения (например, 40 на 40 (четыре пробела). Это делается в интерфейсе spyder, но не переводится в создаваемые файлы.

Ответы [ 2 ]

0 голосов
/ 07 октября 2019

Пробовали ли вы:

df.replace(old, new, inplace=True)

Inplace, по сути, ставит новое значение «inplace» старого в некоторых случаях. Тем не менее, я не претендую на то, что знаю всю внутреннюю техническую работу на месте.

0 голосов
/ 07 октября 2019

Вот как бы я это сделал с map:

drdf['adg'] = adgvals #adds adg values into dataframe 
   for column, valuex in drdf.iteritems():
       #value = value.replace('444.000', '444.0')
       for indv in valuex:
           valuex = valuex.map('444.000':'444.0')
       for difindv in valuex: 
           fourspace = '    ' 
           if len(difindv) == 2:
               indv1 = difindv + fourspace
               value1 = valuex.map(difindv:indv1)
           drdf = drdf.replace(valuex,value1)

#Transfers new dataframe into new text file
np.savetxt(r'/Users/username/test.txt', drdf.values, fmt='%s', delimiter='' )
drdf.to_csv(r'/Users/username/089010219.tot')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...