In [1]:
import pandas as pd
from numpy import random as rnd
import matplotlib.pyplot as plt
from IPython.display import display
In [2]:
# Имена и количество рожденных
names = ['Bob','Jessica','Mary','John','Mel']
births = [968, 155, 77, 578, 973]
In [3]:
# Упаковка
BabyDataSet = list(zip(names,births))
BabyDataSet[:10]
Out[3]:
In [4]:
# Датафрейм
df = pd.DataFrame(data = BabyDataSet, columns=['Names', 'Births'])
df
Out[4]:
In [5]:
# Проверка данных в колонках
df.dtypes
Out[5]:
In [6]:
# Проверка данныхконкретной колонки
df.Births.dtype
Out[6]:
In [7]:
# Сортировка
Sorted = df.sort_values(['Births'], ascending=False)
display(Sorted)
Sorted.head(1)
Out[7]:
In [8]:
# нахождение только максимального значения
df['Births'].max()
Out[8]:
In [9]:
# нахождение только максимального значения со строкой
df[df['Births']==df['Births'].max()]
Out[9]:
In [10]:
# нахождение только имени максимального значения
df[df['Births']==df['Births'].max()]['Names'].values
Out[10]:
In [11]:
#
df['Births'].plot()
#
MaxValue = df['Births'].max()
#
MaxName = df['Names'][df['Births'] == df['Births'].max()].values
#
Text = str(MaxValue) + " - " + MaxName
#
plt.annotate(Text,
xy=(1, MaxValue),
xytext=(8, 0),
xycoords=('axes fraction', 'data'),
textcoords='offset points')
plt.show()
print("Самое популярное имя")
display(df[df['Births'] == df['Births'].max()])