У меня есть df с твитами и датой. Я хотел бы создать функцию, которая извлекает дескрипторы @ и преобразует их в соответствии со словарем (например, '@CityofCTAlerts': 'Кейптаун') и помещает значение словаря (IE Кейптаун) в новый столбец. Затем мне нужно извлечь все хэштеги в отдельный столбец.
Это то, что я пробовал:
def extract_municipality_hashtags(df):
twitter_df['municipality'] = twitter_df['Tweets'].map(lambda x: (i[1:] for i in x.split() if i.startswith('@')))
twitter_df['municipality'] = twitter_df['municipality'].map(mun_dict)
twitter_df['hashtags']=twitter_df['Tweets'].str.findall(r'#.*?(?=\s|$)')
return df
Затем я запускаю функцию:
extract_municipality_hashtags(twitter_df.copy())
Но получаю "привязанный метод NDFrame.copy of"
Мне нужно, чтобы он возвратил правильный фрейм данных
Вот оригинальный фрейм данных:
twitter_url = 'https://raw.githubusercontent.com/Explore-AI/Public-Data/master/Data/twitter_nov_2019.csv'
twitter_df = pd.read_csv(twitter_url)
twitter_df.head()
Используемый словарь:
mun_dict = {
'@CityofCTAlerts' : 'Cape Town',
'@CityPowerJhb' : 'Johannesburg',
'@eThekwiniM' : 'eThekwini' ,
'@EMMInfo' : 'Ekurhuleni',
'@centlecutility' : 'Mangaung',
'@NMBmunicipality' : 'Nelson Mandela Bay',
'@CityTshwane' : 'Tshwane'
}