У вас есть справедливый выбор: replace
, extract
или split
с pandas.series.str
Во-первых, это решение, основанное на конкретных случаях.
Ниже приведено решение, которое заменяет два последних числа вместе с :
в столбце Time
.
>>> df['Time'] = df['Time'].str.replace(':\d{2}$', '')
>>> df
Time
0 18:15
1 19:15
2 20:15
3 21:15
4 22:15
Второй подход с str.extract
с регулярным выражением ..
>>> df['Time'] = df['Time'].str.extract('(\d{2}:\d{2})')
>>> df
Time
0 18:15
1 19:15
2 20:15
3 21:15
4 22:15
\d{2} to hold initial two numbers
: next to match this immediately after first match
\d{2} again next two number followed by colon
$ asserts position at the end of a line