#python #pandas
#python #pandas
Вопрос:
TTT
1. 802010001-999-00000285-888-
2. 256788
3. 1940
4. NaN
5. 10/1/2020 12:00:00 AM
6. 702010001-X-2YZ-00000285-888-
Я хочу заполнить столбец GGT column всеми другими значениями, кроме сумм и дат
Требуемая таблица будет выглядеть следующим образом
TTT GGT
1. 802010001-999-00000285-888- 802010001-999-00000285-888-
2. 256788 NaN
3. 1940 NaN
4. NaN NaN
5. 10/1/2020 12:00:00 AM NaN
6. 702010001-X-2YZ-00000285-888- 702010001-X-2YZ-00000285-888-
исходная таблица содержит более 200 тысяч строк.
Ответ №1:
Используйте to_datetime
with to_numeric
с errors='coerce'
для неверных значений, если совпадений нет, цепочка by |
для побитового OR
и передать Series.mask
:
m = (pd.to_datetime(df['TTT'], errors='coerce').notna() |
pd.to_numeric(df['TTT'], errors='coerce').notna())
df['GGT'] = df['TTT'].mask(m)
print (df)
TTT GGT
0 802010001-999-00000285-888- 802010001-999-00000285-888-
1 256788 NaN
2 1940 NaN
3 NaN NaN
4 10/1/2020 12:00:00 AM NaN
5 702010001-X-2YZ-00000285-888- 702010001-X-2YZ-00000285-888-