Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Как в python reset indexes во фрейме данных?

  1. Как в python reset indexes во фрейме данных?

    Йо, коллеги! У меня маленькая задачка возникла с Pandas. Допустим у меня есть DataFrame, и я удалил несколько строк. После этого индексы немного съехали, т.е. у меня теперь дисбаланс в индексации. Кто знает, как в python reset indexes, чтобы они снова начинались с нуля и шли по порядку? Примеры кода очень приветствуются! Спасибо!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Йоу, ну тут всё просто. В Pandas есть метод reset_index. Он позволяет сбрасывать индексацию так, чтобы она начиналась с нуля. Вот пример:

    Программный код:
    import pandas as pd
      
    # Создаём DataFrame
    df pd.DataFrame({
        
    'A': ['foo''bar''baz''qux'],
        
    'B': [1234]
    })
      
    # Удаляем некоторые строки
    df df.drop([13])
      
    # Смотрим на индексы (они будут неупорядоченными)
    print(df)
      
    # Сбрасываем индексы
    df.reset_index(drop=Trueinplace=True)

    # Смотрим на обновлённый DataFrame
    print(df
    Метод reset_index принимает параметр drop=True, чтобы старые индексы не попали как столбец в DataFrame. И не забудь про inplace=True, чтобы изменения были на месте.

  4. Цитата Сообщение от Огонька
    Йоу, ну тут всё просто. В Pandas есть метод reset_index. Он позволяет сбрасывать индексацию так, чтобы она начиналась с нуля. Вот пример:

    Программный код:
    import pandas as pd
      
    # Создаём DataFrame
    df pd.DataFrame({
        
    'A': ['foo''bar''baz''qux'],
        
    'B': [1234]
    })
      
    # Удаляем некоторые строки
    df df.drop([13])
      
    # Смотрим на индексы (они будут неупорядоченными)
    print(df)
      
    # Сбрасываем индексы
    df.reset_index(drop=Trueinplace=True)

    # Смотрим на обновлённый DataFrame
    print(df
    Метод reset_index принимает параметр drop=True, чтобы старые индексы не попали как столбец в DataFrame. И не забудь про inplace=True, чтобы изменения были на месте.
    Круто, чётко объяснено! Только вот ты метод drop() сразу за reset_index() показал. Новички, обратите внимание!

  5. Ещё один вариант с сохранением старых индексов:

    Программный код:
    df.reset_index() 
    Это поместит старые индексы в новый столбец, что бывает полезно иногда.

  6. Цитата Сообщение от АрктическийВолк
    Ещё один вариант с сохранением старых индексов:

    Программный код:
    df.reset_index() 
    Это поместит старые индексы в новый столбец, что бывает полезно иногда.
    Интересно, иногда полезно держать старые индексы, чтобы потом можно было их восстановить!

  7. Можно ещё сделать так: если нужно сохранить DataFrame после сброса индексации:

    Программный код:
    new_df df.reset_index(drop=True
    Создаётся новый DataFrame с новыми индексами, и оригинальный DF остается неизменным.

  8. Цитата Сообщение от Заблудшая
    Можно ещё сделать так: если нужно сохранить DataFrame после сброса индексации:

    Программный код:
    new_df df.reset_index(drop=True
    Создаётся новый DataFrame с новыми индексами, и оригинальный DF остается неизменным.
    Хех, элегантный вариант, если оригинал DF вдруг понадобится.

  9. Кстати, если работаешь с большими DataFrame, Метод reset_index можно иногда тормозить. Так что смотри по ситуации, иногда лучше просто выбрать нужные строки с пересозданием DataFrame.

  10. Цитата Сообщение от Золушка
    Кстати, если работаешь с большими DataFrame, Метод reset_index можно иногда тормозить. Так что смотри по ситуации, иногда лучше просто выбрать нужные строки с пересозданием DataFrame.
    Да, это верно. Обработка больших данных всегда требует дополнительных ресурсы, нужно учитывать.

Страница 1 из 2 12 ПоследняяПоследняя