Удалить строки с менее полными ячейками из фрейма данныхPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Удалить строки с менее полными ячейками из фрейма данных

Сообщение Anonymous »

У меня есть данные для ответов на опрос, и я создал флаг, если человек отвечает на опрос два раза в месяц, с помощью "same_Month_sur"="yes". Теперь мне нужно проверить каждого человека, опросы которого помечены как «да»:
  • чтобы удалить строку «опрос», в которой меньше заполненных значений.
    если оба имеют одинаковое количество значений, сохраните последнее

Код: Выделить всё

import numpy as np
import pandas as pd

raw_data = {
'code': [1, 1, 2, 2, 3, 3, 3, 4],
'Date': ['2022-01-04', '2022-01-21', '2022-01-03', '2022-04-02', '2022-01-08', '2022-01-07', '2022-05-06', '2022-01-05'],
'rank': [1, 2, 3, 4, 1, 2,3, 4],
'value_1': [np.NaN, 2, 3, 4, 1, 2, 3, 4],
'value_2': [1, 2, 3, 4, 1, 2, 3, 4],
'value_3': ['', 2, 3, '', 1, 2, 3, 4],
'value_4': [1, 2, 3, 4, 1, 2, 3, 4]
}

df = pd.DataFrame(raw_data, columns=['code', 'Date', 'rank', 'value_1', 'value_2', 'value_3', 'value_4'])
df['same_Month_sur'] = 'No'
df['Date_diff_LB'] = ''
df['Date'] = pd.to_datetime(df['Date'])

df['Date_diff_LB'] = df.sort_values(by='Date', ascending=False).groupby('code')['Date'].diff().abs().dt.days
df.loc[(df['Date_diff_LB'] 

Подробнее здесь: [url]https://stackoverflow.com/questions/78177396/delete-rows-with-less-complete-cells-from-data-frame[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»