Я пытаюсь использовать df.copy (). Where () для создания независимой копии фрейма данных на основе окружности для столбца. При этом я заканчиваю с нулевыми значениями на части набора данных, и я не могу понять, почему.
Я pandas / geo pandas newb ie, поэтому, пожалуйста go легко.
Изменить: Сброс индекса перед предложением .where () по-прежнему приводит к нулям в наборе данных, где их не должно быть.
Вопрос:
Почему я заканчиваю с NaN / Null в моем наборе данных, просто указав copy (). Wehre ()? Есть ли очевидный способ исправить это?
Ниже приведен код, который я использую для запуска предложения where, и снимок экрана с результатом.
Примечание:
Хотя я назвал второй df «_centroids», я еще не разрабатываю центроиды, так что это предварительный расчет этого поля.
Предложение Where:
SABRE_all_trails_centroids = SABRE_all_trails.copy().where(SABRE_all_trails['FIRE_CNT'] > 0)
Я использую index.duplicated () для печати результаты, если это дает какие-либо подсказки ... Я подозревал, что у меня были дублирующиеся индексы, но я не уверен, что это так. В любом случае, именно так складываются операторы печати.
print('All Trials Duplicate Indexes')
print('All Trials contains ' + str(SABRE_all_trails['FIRE_CNT'].isnull().sum().sum()) + ' null values')
print(SABRE_all_trails[SABRE_all_trails.index.duplicated()])
print('All Trials Copy Duplicate Indexes')
print('All Trials Copy contains ' + str(SABRE_all_trails_copy['FIRE_CNT'].isnull().sum().sum()) + ' null values')
print(SABRE_all_trails_copy[SABRE_all_trails_copy.index.duplicated()])
print('Centroid Duplicate Indexes')
print('All Trials Centroids contains ' + str(SABRE_all_trails_centroids['FIRE_CNT'].isnull().sum().sum()) + ' null values')
print(SABRE_all_trails_centroids[SABRE_all_trails_centroids.index.duplicated()])
datatypeSeries = SABRE_all_trails_centroids.dtypes
print(datatypeSeries)