Опубликовано чт, 11/26/2020 - 22:42 пользователем Ksenia
category = pd.cut(df['category'], [0, 10, 20])
чтобы добавить в столбец
df['col_category'] = pd.cut(df['col1'], [0, 10, 20])
Опубликовано чт, 11/26/2020 - 22:37 пользователем Ksenia
df.groupby('col1')[['col2']].mean()
Способ 1
df.groupby(['col1', 'col2'])['col3'].aggregate('mean').unstack()
или
df.groupby(['col_left', 'col_high'])['col_value'].aggregate('mean').unstack()
Способ 2
df.pivot_table('col3', index='col1', columns='col2')
df.pivot_table('col_value', index='col_left', columns='col_high')
Разделение на категории, диапазоны, градации
category = pd.cut(df['category'], [0, 10, 20])
чтобы добавить в столбец
df['col_category'] = pd.cut(df['col1'], [0, 10, 20])
Опубликовано ср, 11/25/2020 - 20:23 пользователем Ksenia
#приводим к нижнему регистру методом .lower()
df.lower()
#в Pandas метод str.lower()
df.str.lower()
#перевод в нижний регистр с сохранением в новом столбце
df['new_col_lower'] = df['col'].str.lower()
Опубликовано пт, 11/20/2020 - 18:56 пользователем Ksenia
df['column'].apply(method)
(к столбцу)
df.apply(method, axis=1)
(к строке)
Опубликовано пт, 11/20/2020 - 12:07 пользователем Ksenia
1) создаем функцию для разделения на категории
(она возвращает название категории в зависимости от соответствия условию)
(*отступы могут отображаться некорректно)
def my_function_name(smth_to_enter_in_function):
Опубликовано пт, 11/20/2020 - 11:36 пользователем Ksenia
df_new = df[['col1',col2','col3']]
(перенос столбцов в новую таблицу)
df = df.drop_duplicates().reset_index(drop=True)
(удаление дубликатов)
df.groupby('col1').mean().sort_values('col2',ascending=False)
(группировка по столбцу col1, среднее и сортировка по col2 по убыванию)
Пример внесение результата работы кастомной функции в таблицу с помощью метода .apply () https://data-scientists.ru/node/46
Опубликовано пт, 11/20/2020 - 00:33 пользователем Ksenia
df.set_axis(['col1','col2','col3'],axis = 'columns',inplace = True)
df.set_index('col2', inplace=True)
(заменит индексы на значения из столбца col2, сохранить ту же таблицу с новыми индексами)
Опубликовано пт, 11/20/2020 - 00:13 пользователем Ksenia
1) pymystem3 (библиотека, разработанная сотрудниками Яндекса)
from pymystem3 import Mystem
name = Mystem()
test_name = list(df['text_col'])
а) some_words_or_text = '...' created_lemmas = name.lemmatize(some_words_or_tex) print(created_lemmas)
б)created_lemmas = ' '.join(name.lemmatize(some_words_or_text)) print(created_lemmas) склеивает
в) from collections import Counter print(Counter(created_lemmas)) сколько раз употребляется каждое слово
г)функция принимает текст и возвращает лемматизированную строку:
Опубликовано чт, 11/19/2020 - 22:52 пользователем Ksenia
from nltk.stem import SnowballStemmer
snowball_stemmer_ru = SnowballStemmer('russian')
words_list = [....]
for name in names_list:
for word in name.split():
stemmed_short_word = snowball_stemmer_ru.stem(word)
if stemmed_short_word == 'smth':
print(name)
split() создает список из набора слов, разбивает строку на массив из отдельных слов по разделителю, указанному в параметре.
Подробнее https://www.geeksforgeeks.org/python-string-split/
Опубликовано чт, 11/19/2020 - 22:38 пользователем Ksenia
Предобработка текста:
1)токенизация (разбиение текста на текстовые единицы, например, слова, предложения, фразы, символы)
2)удаление стоп-слов import nltk nltk.download('stopwords') from nltk.corpus import stopwords stopwords.words("russian")
3)стемминг (нахождения основы слова) from nltk.stem import SnowballStemmer snowball_stemmer_ru = SnowballStemmer(language="russian")
4)лемматизация (приведение слова к его словарной форме (лемме))
а) from pymystem3 import Mystem
m = Mystem()
m.lemmatize("лемматизируй этот текст")
Страницы