Найти - Пользователи
Полная версия: Pandas. Как реализовать группировку в условии.
Начало » Python для новичков » Pandas. Как реализовать группировку в условии.
1
liker
Есть csv с ключевыми словами. Грузим в датафрейм. Нужно отфильтровать такие записи, чтобы обязательно было "погода в“ и обязательно что-то из (”Новосибирске“ OR ”Москве“ OR ”Краснодаре").



stats = pd.read_csv('/content/drive/My Drive/stats.csv')

stats=''

def Weather(row):
if ‘погода в’ and (' Новосибирске'or ‘ Москве’or ‘ Краснодаре)’) in row:
row='yes

stats.apply(Weather,axis=1)
py.user.next
liker
 if 'погода в' and (' Новосибирске'or ' Москве'or ' Краснодаре)') in row:
Изучай питон. Ошибка на примитивнейшем уровне. Не знаешь синтаксис питона.

Обычно такая проверка делается так:
  
>>> string = 'a'
>>> ('a' in string) and any(i in string for i in ('b', 'c', 'd'))
False
>>> 
>>> string = 'b'
>>> ('a' in string) and any(i in string for i in ('b', 'c', 'd'))
False
>>> 
>>> string = 'ac'
>>> ('a' in string) and any(i in string for i in ('b', 'c', 'd'))
True
>>> 
>>> string = 'abc'
>>> ('a' in string) and any(i in string for i in ('b', 'c', 'd'))
True
>>>
liker

Все проще. Показываю:

 def Weather(row):
  if 'погода в' in row['keyword']:
                     
     for i in  ['новосибирске', 'москве', 'котельниково'] :
    
       if i in row['keyword']:
        
           row['is']='yes'
           break
       else:
           row['is']=''
  return row
py.user.next
liker
Все проще. Показываю:
 
def Weather(row):
if 'погода в' in row['keyword']:

for i in ['новосибирске', 'москве', 'котельниково'] :

if i in row['keyword']:

row['is']='yes'
break
else:
row['is']=''
return row
Дебильный код. Что ещё сказать.

Учи питон, чтобы просто дураком не выставлять себя на всеобщее обозрение.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB