@LakeForest

Почему после изменений строк в столбце и сохранения в csv — выгружаются (сохраняются) данные до изменений?

Подскажите, пожалуйста, почему после изменений строк в столбце и сохранения csv - выгружаются (сохраняются) данные до изменений (то есть будто я не проводил изменения по нужным строкам)?

Схема такая:
for index, row in df.iterrows():
    if row.targer.str.startswith("0"):
    old_result=row.result
    df.loc[index, "result"] = "0"+ old_result

df.to_csv("new_df.csv", index=False)


А выгружается будто я "0" не дописывал
  • Вопрос задан
  • 41 просмотр
Решения вопроса 1
@LakeForest Автор вопроса
столбец выгружался как число. поэтому ноль - не отображался.
решение:
df = pd.read_csv("df.csv", dtype={"result": str})
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@dmshar
Я так понял - это такой тест на умение угадывать, что и как написано в других частях вашей программы.
Кроме того, вы уверены, что в вашем коде отступы во внутреннем цикле именно такие, как вы нам показали?
if row.targer.str.startswith("0"):
old_result=row.result
df.loc[index, "result"] = "0"+ old_result

Или это тест на наше знание языка?
Но допустим, что это ошибка, и две строчки внутреннего цикла все-таки смещены относительно строчки условия.
Тогда вариантов остается достачтоно.
1. Никаких изменений в объекте df не произойдет если в исходном объекте df изначально нет ни одной строки. А есть они там или нет - сие нам не ведомо.
2. Условие
if row.targer.str.startswith("0"):
не выполняется никогда. Так это или нет - сие нам тоже не ведомо. А вы сами это проверяли?
3. Ладно, выгружается не то, что вы ожидаете. При так небрежно и неполно приведенном клочке скрипта угадать что не так в вашем скрипте - весьма трудно. Но вы хоть сами необходимую отладку провели? Вы проверили, а перед выгрузкой в файл в самом объекте какие данные находятся "старые" или "новые"? Или вы тоже это предлагаете нам угадать?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы