Предполагая, что ваш набор данных содержит более одного типа стихийного бедствия на широту / долготу, ваш предпринятый код будет подсчитывать все даты катастрофы (не только землетрясения).
Для того, чтобы считать только даты землетрясения, вы можете отфильтроватьваш DataFrame
, а затем DataFrame.groupby().count()
.Вот один из способов внесения изменений в данные в столбце «Авария», чтобы проиллюстрировать, почему было бы важно, чтобы в ваших данных содержалось более одного типа бедствия:
import pandas as pd
data = [
['2011-01-10', 56.79, 89.90, 'Earthquake'],
['2011-02-09', 56.79, 89.90, 'Earthquake'],
['2010-11-20', 34.08, 69.92, 'Cyclonic Flood'],
['2010-12-19', 66.78, 125.35, 'Earthquake'],
['2017-09-10', 56.99, 98.22, 'Cyclonic Flood'],
['2017-09-10', 56.99, 98.22, 'Earthquake'],
]
df = pd.DataFrame(data, columns=['Date', 'Latitude', 'Longitude', 'Disaster'])
# filter the DataFrame, then group and count
filtered = df[df.Disaster == 'Earthquake']
grouped = filtered.groupby(['Latitude', 'Longitude', 'Disaster']).count()
print(grouped)
# OUTPUT
# Date
# Latitude Longitude Disaster
# 56.79 89.90 Earthquake 2
# 56.99 98.22 Earthquake 1
# 66.78 125.35 Earthquake 1