У меня DataFrame
содержит столбцы index
и text
.
Например:
index | text
1 | "I have a pen, but I lost it today."
2 | "I have pineapple and pen, but I lost it today."
Теперь у меня длинный список, и я хочу сопоставить каждый слов в text
со списком.
Скажем:
long_list = ['pen', 'pineapple']
Я хотел бы создать FunctionTransformer
, чтобы сопоставить слова в long_list
с каждым словом значение столбца, если есть совпадение, вернуть счет.
index | text | count
1 | "I have a pen, but I lost it today." | 1
2 | "I have pineapple and pen, but I lost it today." | 2
Я сделал таким образом:
def count_words(df):
long_list = ['pen', 'pineapple']
count = 0
for c in df['tweet_text']:
if c in long_list:
count = count + 1
df['count'] = count
return df
count_word = FunctionTransformer(count_words, validate=False)
Пример того, как я разрабатываю свой другой FunctionTransformer
будет быть:
def convert_twitter_datetime(df):
df['hour'] = pd.to_datetime(df['created_at'], format='%a %b %d %H:%M:%S +0000 %Y').dt.strftime('%H').astype(int)
return df
convert_datetime = FunctionTransformer(convert_twitter_datetime, validate=False)