Замените отфильтрованный массив (a) на другой столбец, аналогичный отфильтрованному массиву (b).
In[1]import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
sns.set(font_scale=1.5)
import numpy as np
import datetime
from pylab import rcParams
rcParams['figure.figsize'] = 20, 10```
-
#definition of a
In[2] a = df.fldLastUpdatedDate[df.index[df.fldScheduleCreatedDt.notnull() &
df.fldLastUpdatedDate.isnull()]]
In[3] a
Out[3]917 NaT
932 NaT
933 NaT
934 NaT
938 NaT
..
69932 NaT
Name: fldLastUpdatedDate, Length: 20802, dtype: datetime64[ns]
-
#definition of b
In[4] b = df.combined[df.index[df.fldScheduleCreatedDt.notnull() &
df.fldLastUpdatedDate.isnull()]]
In[5] b
Out[5]917 2011-08-12 09:00:00
932 2011-08-09 09:00:00
933 2011-08-09 10:15:00
934 2011-08-04 13:00:00
938 2011-08-02 12:30:00
..
69932 2018-11-02 15:00:00
Name: combined, Length: 20802, dtype: datetime64[ns]
-
#replace a with b
In[5] df.fldLastUpdatedDate = df.fldLastUpdatedDate.replace(a,b)
-
#check a
In[6] a
Out[6]917 NaT
932 NaT
933 NaT
934 NaT
938 NaT
..
69932 NaT
Name: fldLastUpdatedDate, Length: 20802, dtype: datetime64[ns]
Без изменений (и без ошибок).Радость.
Вопросы о звучащих решениях, которые я рассмотрел:
(1) Есть ли инструмент отладки, который я мог бы использовать, чтобы показать мне, что здесь происходит?
(2) Я использую .replace()
в параметрах SOP?
(3) Существуют ли другие решения, не основанные на петлях, которые соответствовали бы критериям решения этой проблемы?