เจนเฉ เจนเจฌเจฐ!
เจ
เฉฑเจ เจ
เจธเฉเจ เจชเจพเจเจฅเจจ เจตเจฟเฉฑเจ เจกเฉเจเจพ เจจเฉเฉฐ เจเจฐเฉเฉฑเจชเจฟเฉฐเจ เจ
เจคเฉ เจตเจฟเจเจผเฉเจ
เจฒเจพเจเจเจผ เจเจฐเจจ เจฒเจ เจเฉเจฒเจธ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเฉ เจนเฉเจจเจฐ 'เจคเฉ เจเฉฐเจฎ เจเจฐเจพเจเจเฉเฅค เจชเฉเจฐเจฆเจพเจจ เจเฉเจคเฉ เจเจ เจตเจฟเฉฑเจ
เจชเจฐเฉฐเจชเจฐเจพ เจฆเฉ เจ เจจเฉเจธเจพเจฐ, เจธเจผเฉเจฐเฉ เจตเจฟเฉฑเจ, เจเจ เจเฉเจเจฟเจเจ เจจเฉเฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจเจฐเฉเจ:
- เจฒเจฟเฉฐเจ เจ เจคเฉ เจธเจพเจฒ เจฆเฉ เจ เจจเฉเจธเจพเจฐ เจธเจฎเฉเจน เจกเฉเจเจพ เจ เจคเฉ เจฆเฉเจตเจพเจ เจฒเจฟเฉฐเจเจพเจ เจฆเฉ เจเจจเจฎ เจฆเจฐ เจฆเฉ เจธเจฎเฉเฉฑเจเฉ เจเจคเฉเจธเจผเฉเจฒเจคเจพ เจฆเฉ เจเจฒเจชเจจเจพ เจเจฐเฉ;
- เจนเจฐ เจธเจฎเฉเจ เจฆเฉ เจธเจญ เจคเฉเจ เจชเฉเจฐเจธเจฟเฉฑเจง เจจเจพเจฎ เจฒเฉฑเจญเฉ;
- เจกเฉเจเจพ เจตเจฟเฉฑเจ เจชเฉเจฐเฉ เจธเจฎเฉเจ เจฆเฉ เจฎเจฟเจเจฆ เจจเฉเฉฐ 10 เจญเจพเจเจพเจ เจตเจฟเฉฑเจ เจตเฉฐเจกเฉ เจ เจคเฉ เจนเจฐเฉเจ เจฒเจ, เจนเจฐเฉเจ เจฒเจฟเฉฐเจ เจฆเจพ เจธเจญ เจคเฉเจ เจชเฉเจฐเจธเจฟเฉฑเจง เจจเจพเจฎ เจฒเฉฑเจญเฉเฅค เจฒเฉฑเจญเฉ เจเจ เจนเจฐเฉเจ เจจเจพเจฎ เจฒเจ, เจนเจฐ เจธเจฎเฉเจ เจเจธเจฆเฉ เจเจคเฉเจธเจผเฉเจฒเจคเจพ เจฆเฉ เจเจฒเจชเจจเจพ เจเจฐเฉ;
- เจนเจฐ เจธเจพเจฒ เจฒเจ, เจเจฃเจจเจพ เจเจฐเฉ เจเจฟ เจเจฟเฉฐเจจเฉ เจจเจพเจฎ 50% เจฒเฉเจเจพเจ เจจเฉเฉฐ เจเจตเจฐ เจเจฐเจฆเฉ เจนเจจ เจ เจคเฉ เจเจฒเจชเจจเจพ เจเจฐเฉ (เจ เจธเฉเจ เจนเจฐ เจธเจพเจฒ เจฒเจ เจจเจพเจฎเจพเจ เจฆเฉ เจตเจฟเจญเจฟเฉฐเจจเจคเจพ เจฆเฉเจเจพเจเจเฉ);
- เจชเฉเจฐเฉ เจ เฉฐเจคเจฐเจพเจฒ เจคเฉเจ 4 เจธเจพเจฒ เจเฉเจฃเฉ เจ เจคเฉ เจนเจฐ เจธเจพเจฒ เจฒเจ เจจเจพเจฎ เจฆเฉ เจชเจนเจฟเจฒเฉ เจ เฉฑเจเจฐ เจ เจคเฉ เจจเจพเจฎ เจฆเฉ เจเจเจฐเฉ เจ เฉฑเจเจฐ เจฆเฉเจเจฐเจพ เจตเฉฐเจก เจจเฉเฉฐ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจเจฐเฉ;
- เจเจ เจฎเจธเจผเจนเฉเจฐ เจฒเฉเจเจพเจ (เจฐเจพเจธเจผเจเจฐเจชเจคเฉ, เจเจพเจเจ, เจ เจญเจฟเจจเฉเจคเจพ, เจซเจฟเจฒเจฎ เจฆเฉ เจชเจพเจคเจฐ) เจฆเฉ เจธเฉเจเฉ เจฌเจฃเจพเจ เจ เจคเฉ เจจเจพเจตเจพเจ เจฆเฉ เจเจคเฉเจธเจผเฉเจฒเจคเจพ 'เจคเฉ เจเจจเฉเจนเจพเจ เจฆเฉ เจชเฉเจฐเจญเจพเจต เจฆเจพ เจฎเฉเจฒเจพเจเจเจฃ เจเจฐเฉเฅค เจเฉฑเจ เจฆเฉเจฐเจฟเจธเจผเจเฉเจเฉเจฃ เจฌเจฃเจพเจเฅค
เจเฉฑเจ เจธเจผเจฌเจฆ, เจตเจงเฉเจฐเฉ เจเฉเจก!
เจ
เจคเฉ, เจเจ เจเฉฑเจฒเฉเจเฅค
เจเจ เจฒเจฟเฉฐเจ เจ เจคเฉ เจธเจพเจฒ เจฆเฉเจเจฐเจพ เจกเฉเจเจพ เจจเฉเฉฐ เจธเจฎเฉเจน เจเจฐเฉเจ เจ เจคเฉ เจฆเฉเจตเจพเจ เจฒเจฟเฉฐเจเจพเจ เจฆเฉ เจเจจเจฎ เจฆเจฐ เจฆเฉ เจธเจฎเฉเฉฑเจเฉ เจเจคเฉเจธเจผเฉเจฒเจคเจพ เจฆเฉ เจเจฒเจชเจจเจพ เจเจฐเฉเจ:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
years = np.arange(1880, 2011, 3)
datalist = 'https://raw.githubusercontent.com/wesm/pydata-book/2nd-edition/datasets/babynames/yob{year}.txt'
dataframes = []
for year in years:
dataset = datalist.format(year=year)
dataframe = pd.read_csv(dataset, names=['name', 'sex', 'count'])
dataframes.append(dataframe.assign(year=year))
result = pd.concat(dataframes)
sex = result.groupby('sex')
births_men = sex.get_group('M').groupby('year', as_index=False)
births_women = sex.get_group('F').groupby('year', as_index=False)
births_men_list = births_men.aggregate(np.sum)['count'].tolist()
births_women_list = births_women.aggregate(np.sum)['count'].tolist()
fig, ax = plt.subplots()
fig.set_size_inches(25,15)
index = np.arange(len(years))
stolb1 = ax.bar(index, births_men_list, 0.4, color='c', label='ะัะถัะธะฝั')
stolb2 = ax.bar(index + 0.4, births_women_list, 0.4, alpha=0.8, color='r', label='ะะตะฝัะธะฝั')
ax.set_title('ะ ะพะถะดะฐะตะผะพััั ะฟะพ ะฟะพะปั ะธ ะณะพะดะฐะผ')
ax.set_xlabel('ะะพะดะฐ')
ax.set_ylabel('ะ ะพะถะดะฐะตะผะพััั')
ax.set_xticklabels(years)
ax.set_xticks(index + 0.4)
ax.legend(loc=9)
fig.tight_layout()
plt.show()
เจเจ เจเจคเจฟเจนเจพเจธ เจตเจฟเฉฑเจ เจธเจญ เจคเฉเจ เจชเฉเจฐเจธเจฟเฉฑเจง เจจเจพเจฎ เจฒเฉฑเจญเฉเจ:
years = np.arange(1880, 2011)
dataframes = []
for year in years:
dataset = datalist.format(year=year)
dataframe = pd.read_csv(dataset, names=['name', 'sex', 'count'])
dataframes.append(dataframe)
result = pd.concat(dataframes)
names = result.groupby('name', as_index=False).sum().sort_values('count', ascending=False)
names.head(10)
เจเจ เจกเฉเจเจพ เจตเจฟเฉฑเจ เจชเฉเจฐเฉ เจธเจฎเฉเจ เจฆเฉ เจฎเจฟเจเจฆ เจจเฉเฉฐ 10 เจญเจพเจเจพเจ เจตเจฟเฉฑเจ เจตเฉฐเจกเฉเจ เจ เจคเฉ เจนเจฐเฉเจ เจฒเจ เจ เจธเฉเจ เจนเจฐเฉเจ เจฒเจฟเฉฐเจ เจฆเจพ เจธเจญ เจคเฉเจ เจชเฉเจฐเจธเจฟเฉฑเจง เจจเจพเจฎ เจฒเฉฑเจญเจพเจเจเฉเฅค เจฒเฉฑเจญเฉ เจเจ เจนเจฐเฉเจ เจจเจพเจฎ เจฒเจ, เจ เจธเฉเจ เจนเจฐ เจธเจฎเฉเจ เจเจธเจฆเฉ เจเจคเฉเจธเจผเฉเจฒเจคเจพ เจฆเฉ เจเจฒเจชเจจเจพ เจเจฐเจฆเฉ เจนเจพเจ:
years = np.arange(1880, 2011)
part_size = int((years[years.size - 1] - years[0]) / 10) + 1
parts = {}
def GetPart(year):
return int((year - years[0]) / part_size)
for year in years:
index = GetPart(year)
r = years[0] + part_size * index, min(years[years.size - 1], years[0] + part_size * (index + 1))
parts[index] = str(r[0]) + '-' + str(r[1])
dataframe_parts = []
dataframes = []
for year in years:
dataset = datalist.format(year=year)
dataframe = pd.read_csv(dataset, names=['name', 'sex', 'count'])
dataframe_parts.append(dataframe.assign(years=parts[GetPart(year)]))
dataframes.append(dataframe.assign(year=year))
result_parts = pd.concat(dataframe_parts)
result = pd.concat(dataframes)
result_parts_sums = result_parts.groupby(['years', 'sex', 'name'], as_index=False).sum()
result_parts_names = result_parts_sums.iloc[result_parts_sums.groupby(['years', 'sex'], as_index=False).apply(lambda x: x['count'].idxmax())]
result_sums = result.groupby(['year', 'sex', 'name'], as_index=False).sum()
for groupName, groupLabels in result_parts_names.groupby(['name', 'sex']).groups.items():
group = result_sums.groupby(['name', 'sex']).get_group(groupName)
fig, ax = plt.subplots(1, 1, figsize=(18,10))
ax.set_xlabel('ะะพะดะฐ')
ax.set_ylabel('ะ ะพะถะดะฐะตะผะพััั')
label = group['name']
ax.plot(group['year'], group['count'], label=label.aggregate(np.max), color='b', ls='-')
ax.legend(loc=9, fontsize=11)
plt.show()
เจนเจฐ เจธเจพเจฒ เจฒเจ, เจ เจธเฉเจ เจเจฃเจจเจพ เจเจฐเจฆเฉ เจนเจพเจ เจเจฟ เจเจฟเฉฐเจจเฉ เจจเจพเจฎ 50% เจฒเฉเจเจพเจ เจจเฉเฉฐ เจเจตเจฐ เจเจฐเจฆเฉ เจนเจจ เจ เจคเฉ เจเจธ เจกเฉเจเจพ เจฆเฉ เจเจฒเจชเจจเจพ เจเจฐเจฆเฉ เจนเจพเจ:
dataframe = pd.DataFrame({'year': [], 'count': []})
years = np.arange(1880, 2011)
for year in years:
dataset = datalist.format(year=year)
csv = pd.read_csv(dataset, names=['name', 'sex', 'count'])
names = csv.groupby('name', as_index=False).aggregate(np.sum)
names['sum'] = names.sum()['count']
names['percent'] = names['count'] / names['sum'] * 100
names = names.sort_values(['percent'], ascending=False)
names['cum_perc'] = names['percent'].cumsum()
names_filtered = names[names['cum_perc'] <= 50]
dataframe = dataframe.append(pd.DataFrame({'year': [year], 'count': [names_filtered.shape[0]]}))
fig, ax1 = plt.subplots(1, 1, figsize=(22,13))
ax1.set_xlabel('ะะพะดะฐ', fontsize = 12)
ax1.set_ylabel('ะ ะฐะทะฝะพะพะฑัะฐะทะธะต ะธะผะตะฝ', fontsize = 12)
ax1.plot(dataframe['year'], dataframe['count'], color='r', ls='-')
ax1.legend(loc=9, fontsize=12)
plt.show()
เจเจ เจชเฉเจฐเฉ เจ เฉฐเจคเจฐเจพเจฒ เจคเฉเจ 4 เจธเจพเจฒ เจเฉเจฃเฉเจ เจ เจคเฉ เจนเจฐ เจธเจพเจฒ เจฒเจ เจจเจพเจฎ เจฆเฉ เจชเจนเจฟเจฒเฉ เจ เฉฑเจเจฐ เจ เจคเฉ เจจเจพเจฎ เจฆเฉ เจเจเจฐเฉ เจ เฉฑเจเจฐ เจฆเฉเจเจฐเจพ เจตเฉฐเจก เจจเฉเฉฐ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจเจฐเฉเจ:
from string import ascii_lowercase, ascii_uppercase
fig_first, ax_first = plt.subplots(1, 1, figsize=(14,10))
fig_last, ax_last = plt.subplots(1, 1, figsize=(14,10))
index = np.arange(len(ascii_uppercase))
years = [1944, 1978, 1991, 2003]
colors = ['r', 'g', 'b', 'y']
n = 0
for year in years:
dataset = datalist.format(year=year)
csv = pd.read_csv(dataset, names=['name', 'sex', 'count'])
names = csv.groupby('name', as_index=False).aggregate(np.sum)
count = names.shape[0]
dataframe = pd.DataFrame({'letter': [], 'frequency_first': [], 'frequency_last': []})
for letter in ascii_uppercase:
countFirst = (names[names.name.str.startswith(letter)].count()['count'])
countLast = (names[names.name.str.endswith(letter.lower())].count()['count'])
dataframe = dataframe.append(pd.DataFrame({
'letter': [letter],
'frequency_first': [countFirst / count * 100],
'frequency_last': [countLast / count * 100]}))
ax_first.bar(index + 0.3 * n, dataframe['frequency_first'], 0.3, alpha=0.5, color=colors[n], label=year)
ax_last.bar(index + bar_width * n, dataframe['frequency_last'], 0.3, alpha=0.5, color=colors[n], label=year)
n += 1
ax_first.set_xlabel('ะัะบะฒะฐ ะฐะปัะฐะฒะธัะฐ')
ax_first.set_ylabel('ะงะฐััะพัะฐ, %')
ax_first.set_title('ะะตัะฒะฐั ะฑัะบะฒะฐ ะฒ ะธะผะตะฝะธ')
ax_first.set_xticks(index)
ax_first.set_xticklabels(ascii_uppercase)
ax_first.legend()
ax_last.set_xlabel('ะัะบะฒะฐ ะฐะปัะฐะฒะธัะฐ')
ax_last.set_ylabel('ะงะฐััะพัะฐ, %')
ax_last.set_title('ะะพัะปะตะดะฝัั ะฑัะบะฒะฐ ะฒ ะธะผะตะฝะธ')
ax_last.set_xticks(index)
ax_last.set_xticklabels(ascii_uppercase)
ax_last.legend()
fig_first.tight_layout()
fig_last.tight_layout()
plt.show()
เจเจ เจเจ เจฎเจธเจผเจนเฉเจฐ เจฒเฉเจเจพเจ (เจฐเจพเจธเจผเจเจฐเจชเจคเฉ, เจเจพเจเจ, เจ เจญเจฟเจจเฉเจคเจพ, เจซเจฟเจฒเจฎ เจฆเฉ เจชเจพเจคเจฐ) เจฆเฉ เจธเฉเจเฉ เจฌเจฃเจพเจเจ เจ เจคเฉ เจจเจพเจตเจพเจ เจฆเฉ เจเจคเฉเจธเจผเฉเจฒเจคเจพ 'เจคเฉ เจเจจเฉเจนเจพเจ เจฆเฉ เจชเฉเจฐเจญเจพเจต เจฆเจพ เจฎเฉเจฒเจพเจเจเจฃ เจเจฐเฉเจ:
celebrities = {'Frank': 'M', 'Britney': 'F', 'Madonna': 'F', 'Bob': 'M'}
dataframes = []
for year in years:
dataset = datalist.format(year=year)
dataframe = pd.read_csv(dataset, names=['name', 'sex', 'count'])
dataframes.append(dataframe.assign(year=year))
result = pd.concat(dataframes)
for celebrity, sex in celebrities.items():
names = result[result.name == celebrity]
dataframe = names[names.sex == sex]
fig, ax = plt.subplots(1, 1, figsize=(16,8))
ax.set_xlabel('ะะพะดะฐ', fontsize = 10)
ax.set_ylabel('ะ ะพะถะดะฐะตะผะพััั', fontsize = 10)
ax.plot(dataframe['year'], dataframe['count'], label=celebrity, color='r', ls='-')
ax.legend(loc=9, fontsize=12)
plt.show()
เจธเจฟเจเจฒเจพเจ เจฒเจ, เจคเฉเจธเฉเจ เจจเจพเจฎเจพเจ เจฆเฉ เจเจคเฉเจธเจผเฉเจฒเจคเจพ 'เจคเฉ เจเจจเฉเจนเจพเจ เจฆเฉ เจชเฉเจฐเจญเจพเจต เจฆเจพ เจธเจชเจธเจผเจ เจคเฉเจฐ 'เจคเฉ เจฎเฉเจฒเจพเจเจเจฃ เจเจฐเจจ เจฒเจ เจเจเจฐเฉ เจเจฆเจพเจนเจฐเจฃ เจคเฉเจ เจตเจฟเจเจผเฉเจ
เจฒเจพเจเจเจผเฉเจธเจผเจจ เจตเจฟเฉฑเจ เจฎเจธเจผเจนเฉเจฐ เจนเจธเจคเฉเจเจ เจฆเฉ เจเฉเจตเจจ เจเจพเจฒ เจจเฉเฉฐ เจเฉเฉ เจธเจเจฆเฉ เจนเฉเฅค
เจเจธ เจจเจพเจฒ, เจธเจพเจกเฉ เจธเจพเจฐเฉ เจเฉเจเฉ เจชเฉเจฐเจพเจชเจค เจนเฉเจ เจ เจคเฉ เจชเฉเจฐเฉ เจนเฉ เจเจเฅค เจ เจธเฉเจ เจชเจพเจเจฅเจจ เจตเจฟเฉฑเจ เจกเฉเจเจพ เจจเฉเฉฐ เจเจฐเฉเฉฑเจชเจฟเฉฐเจ เจ เจคเฉ เจตเจฟเจเจผเฉเจ เจฒเจพเจเจเจผ เจเจฐเจจ เจฒเจ เจเฉเจฒเจธ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเจพ เจนเฉเจจเจฐ เจตเจฟเจเจธเจฟเจค เจเฉเจคเจพ เจนเฉ, เจ เจคเฉ เจ เจธเฉเจ เจกเฉเจเจพ เจฆเฉ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจเจพ เจเจพเจฐเฉ เจฐเฉฑเจเจพเจเจเฉเฅค เจนเจฐ เจเฉเจ เจคเจฟเจเจฐ-เจฌเจฃเจพเจเจ, เจตเจฟเจเจผเฉเจ เจฒ เจกเจพเจเจพ เจฆเฉ เจเจงเจพเจฐ 'เจคเฉ เจธเจฟเฉฑเจเจพ เจเฉฑเจข เจธเจเจฆเจพ เจนเฉเฅค
เจนเจฐ เจเจฟเจธเฉ เจจเฉเฉฐ เจเจฟเจเจจ!
เจธเจฐเฉเจค: www.habr.com