Как вырезать часть данных строк и оставить только первые 3 цифры в Python - PullRequest
0 голосов
/ 12 декабря 2018
0    546/001441
1    540/001495
2    544/000796
3    544/000797
4    544/000798

У меня есть столбец в моем фрейме данных, который я предоставил выше.Он может иметь любое количество строк в зависимости от данных, которые будут обработаны.Это один из многих столбцов, но первые три числа соответствуют данным других столбцов.Мне нужно обрезать все после первых 3 чисел, чтобы добавить его к другому фрейму данных на основе похожих значений.Любые идеи о том, как получить только первые 3 числа и обрезать оставшиеся 8 значений?

До сих пор у меня весь столбец выделен как серия, а также как numpy.array, чтобыпопытаться преобразовать его в str вместо объекта.Я знаю, что это приближает меня к ответу, но я не могу понять, как вырезать ненужные значения

 testcut=dfwhynot[0][:3]

это обрезает строку там, где она мне нужна, но как мне это сделать?потому что весь столбец - это то, что я не могу понять.

1 Ответ

0 голосов
/ 12 декабря 2018

Если имя вашего столбца равно col, вы можете

# Split the column into two
df['col'] = df['col'].apply(lambda row: row.split('/'))
df[['col1', 'col2']] = pd.DataFrame(df_out.values.tolist())

  col1    col2
0  546  001441
1  540  001495
2  544  000796
3  544  000797
4  544  000798

, а затем получить минимальный элемент каждой col1 группы

df.groupby('col1').min().reset_index()

в результате

  col1    col2
0  540  001495
1  544  000796
2  546  001441
...