Сомнения панды фильтруют данные строка за строкой

#python-3.x #pandas #numpy

Вопрос:

Как я могу решить эту проблему, связанную с пандами? У меня есть фрейм данных следующего подхода:

дата и время 64нс тип(int) datetime64ns(анализ)
2019-02-02T10:02:05 4
2019-02-02T10:02:01 3
2019-02-02T10:02:02 4 2019-02-02T10:02:02
2019-02-02T10:02:04 3 2019-02-02T10:02:04

Цель состоит в том, чтобы решить следующую проблему:

 # psuedocode
for all the rows:
  if datetime(analysis) exists and type=4:
      insert in the a new row column type4=1
  
  elseif datetime(analysis) exists and type=2:
      insert in the a new row column type2=1
 

идея его разработки заключается в том, чтобы создать группу по значению количества. Я уверен, что это возможно, потому что мне удалось разработать его в прошлом, но я потерял свой файл .py. Спасибо за внимание

Ответ №1:

Тебе это нужно?

 df = pd.concat([df, pd.get_dummies(df['type(int)'].mask(
    df['datetime64ns(analysis)'].isna()).astype('Int64')).add_prefix('type')], 1)
 

выход:

           datetime64ns  type(int) datetime64ns(analysis)  type3  type4
0  2019-02-02T10:02:05          4                    NaN      0      0
1  2019-02-02T10:02:01          3                    NaN      0      0
2  2019-02-02T10:02:02          4    2019-02-02T10:02:02      0      1
3  2019-02-02T10:02:04          3    2019-02-02T10:02:04      1      0