У меня есть файл df из сотен тысяч строк, который может содержать ошибки. Команда вручную проверяет/определяет, а я пытаюсь включить гибкое удаление комбинаций для очистки.
Существует три ключевых значения, и я надеялся включить любое< /em> этих значений, которые необходимо заполнить, в зависимости от области удаления. Я хочу удалить строки, соответствующие самому широкому определению, рассматривая пустые столбцы в каждой строке как подстановочные знаки.
Вот воспроизведение одного подхода, но мне интересно, есть ли более векторизованный вариант /элегантный метод, который кто-нибудь подскажет?
Одна мысль — «разбить» их на части, применив маску к каждому уникальному комбинация значений, отличных от NA, в remove_df? Это также кажется утомительным, так как существует 7 перестановок возможных столбцов NA/Non-NA.
выяснение того, какие строки удалить, на основе on merge() интригует. Я думаю, что для этого потребуется сканирование target_df, чтобы расширить Remove_df всеми возможными значениями, когда его значение равно None. Либо мы вернемся к множеству ветвей логики и объединим их, используя on=[cols], один раз для каждой комбинации столбцов, не относящихся к NA.
Я мог бы заранее построить кортежи из комбинаций столбцов, не относящихся к NA, а затем перебрать их? Тогда я делаю это максимум 7 раз вместо одного в каждой строке.
Вероятно, < em>что многие из этих удалений (предполагаю, сотни), поэтому, если вышеизложенное достаточно питонично, я оставлю это.
В основном я спрашиваю, как и я Не вижу именно этого вопроса, и это интересное упражнение. У меня средний уровень владения Python, поэтому мне бы хотелось посмотреть, как другие подойдут к этому.
Связано:
этот вопрос близок: как объединить, игнорируя NaN: Pandas объединяет несколько столбцов, игнорируя NaN
аналогичная идея, слияние n раз, а затем объединить результаты: как объединить два кадров данных, исключая столбец значений NaN?
отдайте должное подходу с маской, описанному выше: pandas сравнивается с несколькими столбцами, не включая индекс
< li>очень похоже на мою первоначальную мысль, но мне не понравилось заполнять все перестановки: Как объединиться с подстановочным знаком? - Панды
У меня есть файл df из сотен тысяч строк, который может содержать ошибки. Команда вручную проверяет/определяет, а я пытаюсь включить гибкое удаление комбинаций для очистки. Существует три ключевых значения, и я надеялся включить любое< /em> этих значений, которые необходимо заполнить, в зависимости от области удаления. Я хочу удалить строки, соответствующие самому широкому определению, рассматривая пустые столбцы в каждой строке как подстановочные знаки. Вот воспроизведение одного подхода, но мне интересно, есть ли более векторизованный вариант /элегантный метод, который кто-нибудь подскажет? [code]import pandas as pd
result_df [/code] Некоторые другие мысли: [list] [*]Одна мысль — «разбить» их на части, применив маску к каждому уникальному комбинация значений, отличных от NA, в remove_df? Это также кажется утомительным, так как существует 7 перестановок возможных столбцов NA/Non-NA.
[*]выяснение того, какие строки удалить, на основе on merge() интригует. Я думаю, что для этого потребуется сканирование target_df, чтобы расширить Remove_df всеми возможными значениями, когда его значение равно None. Либо мы вернемся к множеству ветвей логики и объединим их, используя on=[cols], один раз для каждой комбинации столбцов, не относящихся к NA.
[*]Я мог бы заранее построить кортежи из комбинаций столбцов, не относящихся к NA, а затем перебрать их? Тогда я делаю это максимум 7 раз вместо одного в каждой строке.
[/list] Вероятно, < em>что многие из этих удалений (предполагаю, сотни), поэтому, если вышеизложенное достаточно питонично, я оставлю это. В основном я спрашиваю, как и я Не вижу именно этого вопроса, и это интересное упражнение. У меня средний уровень владения Python, поэтому мне бы хотелось посмотреть, как другие подойдут к этому.
Связано: [list] [*]этот вопрос близок: как объединить, игнорируя NaN: Pandas объединяет несколько столбцов, игнорируя NaN [*]аналогичная идея, слияние n раз, а затем объединить результаты: как объединить два кадров данных, исключая столбец значений NaN? [*]отдайте должное подходу с маской, описанному выше: pandas сравнивается с несколькими столбцами, не включая индекс < li>очень похоже на мою первоначальную мысль, но мне не понравилось заполнять все перестановки: Как объединиться с подстановочным знаком? - Панды [/list]