#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