Строка поиска Python в фрейме данных - PullRequest
0 голосов
/ 18 октября 2019

У меня есть проблема и надеюсь, что вы можете мне помочь. У меня есть данные .csv и с 3 рядами. («строка», число, «строка»). Эти данные имеют 500 мегабайт и 10 000 000 строк, и у меня также есть список с 1 500 000 строк в нем. Эти строки являются частью первой строки кадра данных. Я хочу получить фрейм данных с 1 500 000 строк («строка», число, «строка»). Я читал разные статьи о векторизации, но я не эксперт в Python. Каков наилучший вариант для выполнения этой задачи.

outfile = pd.read_csv (dataname, sep='\s+', Header = none )
outfile.columns = ['picturename', 'number', 'part']

outerdata = outfile['picturename'].values

for var in all_file_names # this is the list with 1 500 000 rows
  puffer = outfile.loc[outerdata == name] 

1 Ответ

0 голосов
/ 18 октября 2019

Использование Series.isin:

puffer = outfile.loc[outfile['picturename'].isin(name)]

Пример:

print(df2)
    C   D   E
0   b   a   l
1   h  bb   h
2   r   f   b
3  cc   g   a
4   d   r  dd

name=['a','b','d']
df2.loc[df2['C'].isin(name)]

Выход:

   C  D   E
0  b  a   l
4  d  r  dd
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...