Во-первых, когда вы задаете вопрос, пожалуйста, не включайте изображения кадра данных, вместо этого включайте воспроизводимые данные. Взгляните на this , чтобы получить подсказки о том, как написать хороший вопрос.
Вам вопрос, во-первых, посмотрите на источник вашей таблицы. Например, в Excel, не могли бы вы решить проблему там?
Если вам нужно решить проблему с помощью pandas
, вот один из способов:
Сначала приведем несколько выборочных данных, в которых в одном столбце смешаны годы и месяцы.
import pandas as pd
import numpy as np
data = pd.DataFrame({
'key': ['2017', 'November', 'December', '2018', 'January']
})
Первым шагом является извлечение экземпляра, представляющего собой годы, в новый столбец, а затем «прямая заливка» для широковещательной передачи этих значений. В одну строку:
data['years'] = pd.Series([i if i.isnumeric() else np.nan for i in data['key']]).fillna(method = 'ffill')
Теперь отбросьте строки, которые являются годами. Похоже, в ваших данных эти данные не связаны.
data = data[~data['key'].str.isnumeric()]
Дает нам:
key years
1 November 2017
2 December 2017
4 January 2018