Попытка получить первый элемент в списке в пределах кадра данных панды - PullRequest
1 голос
/ 10 июля 2019

Я новичок в Python и Pandas и пытаюсь решить проблему.

У меня есть pandas dataframe, который содержит столбец, где данные столбца являются строкой, со значениями, разделенными дефисом,

import pandas as pd

data = [['item 1 - item 2 - item 3'],['item 4 - item 5 - item 6 '],['item 
 7 - item 8'],['item 9']]
df = pd.DataFrame(data, columns=['Item'])

print(df)

Результаты к этому:

                        Item
0   item 1 - item 2 - item 3
1  item 4 - item 5 - item 6 
2            item 7 - item 8
3                     item 9

Мне нужно разделить строки элемента в список, что я могу сделать с

df['Item'].str.split('-')

, который разрешается в

0     [item 1 ,  item 2 ,  item 3]
1    [item 4 ,  item 5 ,  item 6 ]
2               [item 7 ,  item 8]
3                         [item 9]

Мне нужно получить первый элемент в каждой строке, поэтому элемент 1, элемент 4, элемент 7, элемент 9 и, надеюсь, вычеркнуть начальные и конечные пустые символы с помощью метода strip ()

1 Ответ

1 голос
/ 10 июля 2019

Используйте Series.str.split, получите первое значение списков по индексации и последнему вызову Series.str.strip:

s = df['Item'].str.split('-').str[0].str.strip()
print (s)
0    item 1
1    item 4
2    item 7
3    item 9
Name: Item, dtype: object
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...