Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/inspectionProfiles/profiles_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/pandas_task.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 19 additions & 0 deletions ANSWER.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<h1>Задание №8</h1>

1. Из 1068 людей не совпадают профессия и должность у 793.

2. Топ образований людей, которые работают менеджерами:

бакалавр 11
менеджер 10
специалист 6
экономист 6
экономист-менеджер 4

3. Топ должностей людей, которые по диплому являются инженерами:

заместитель директора 3
главный инженер 3
ведущий инженер-конструктор 2
инженер лесопользования 2
директор 2
7 changes: 7 additions & 0 deletions task_1_2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import pandas as pd

data = pd.read_csv('works.csv')

print('Количество всех записей: ', data.shape[0])
print('Количество мужчин: ', data[data['gender'] == 'Мужской'].shape[0])
print('Количество женщин: ', (data['gender'] == 'Женский').values.sum())
11 changes: 11 additions & 0 deletions task_3_4.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import pandas as pd

data = pd.read_csv('works.csv')

print('Количество skills не NaN ', data.skills.notna().values.sum())
print(data[data.skills.notna()]['skills'])

salary = 20000
group = 'Женский'

print(data.query('salary == @salary and gender == @group'))
7 changes: 7 additions & 0 deletions task_5.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import pandas as pd

data = pd.read_csv('works.csv')
df = data.skills.dropna().str.lower().str.contains('python|питон')

print('Зарплата людей, у которых в skills есть Python\n', data[data.skills.notna()][df]['salary'])

102 changes: 102 additions & 0 deletions task_6.ipynb

Large diffs are not rendered by default.

238 changes: 238 additions & 0 deletions task_7.ipynb

Large diffs are not rendered by default.

36 changes: 36 additions & 0 deletions task_8.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import pandas as pd


def no_match_counter(firs_param, second_param, elements):
count = 0

for (f1, f2) in zip(elements[firs_param], elements[second_param]):
if not (contains(f1, f2) or contains(f2, f1)):
count += 1

return count


def contains(first, second):

for word in first.lower().replace('-', ' ').split():
if word in second.lower():
return True

return False


def get_job_list(size, df, searched_f, returned_f, search_s):
return df[df[searched_f].str.lower().str.contains(search_s[:-2])][returned_f].str.lower().value_counts().head(size)


data = pd.read_csv("works.csv").dropna()
count_not_matches_job = no_match_counter("jobTitle", "qualification", data)

print(f"Из {data.shape[0]} людей не совпадают профессия и должность у {count_not_matches_job}")

print("\nЛюди с таким образованием становятся менеджерами: ")
print(get_job_list(5, data, "jobTitle", "qualification", "менеджер"))

print("\nКем работают люди имеющие диплом инженера: ")
print(get_job_list(5, data, "qualification", "jobTitle", "инженер"))