После длиннющих мануалов мне так понравилось начало этого видеоролика, что я скачал похожий файл (baby-names.csv) и решил поупражняться вместе с автором видео. Пока не знаю, подойдет ли файл... имена в Великобритании. Здесь я попробовал (наконец-то) использовать относительный путь при импорте csv файла в объект (frameset)Pandas (см. In[4])
In [1]:
from IPython.display import YouTubeVideo
YouTubeVideo('p8hle-ni-DM')
Out[1]:
In [2]:
from pandas import *
In [3]:
from pylab import *
In [4]:
names=read_csv('../data/baby-names.csv')
In [5]:
names.head()
Out[5]:
Файл в ролике почти такой же, но у него 5 полей: "year, name,prop,sex, soundex" - 4+1 индекс... и записей (строк) сотни тысяч... А этот, похоже, без столбца "sounde"
Можно вырыезать фрагмент только из определенных строк и столбцов¶
In [6]:
# slice operation
names[3:9]
Out[6]:
In [10]:
# slicing by row and columns
names.ix[2:4,['year','name']]
Out[10]:
Можно отфильтровать часть столбца¶
In [12]:
#create girl names and boy names data sets
names['sex']=='girl'
Out[12]:
Можно задать новые объекты (например, сформировать таблицу только мужских имен)¶
In [13]:
# make two subsets (lists) from names (list)
girl_names=names[names['sex']=='girl']
boy_names=names[names['sex']=='boy']
In [15]:
boy_names.tail()
Out[15]:
In [14]:
girl_names.head()
Out[14]:
Можно выбрать только строки с именем John¶
In [18]:
#create dataset with only John records
john=boy_names[boy_names['name']=='John']
In [19]:
john.head()
Out[19]:
In [20]:
john=john.ix[0:,['year','percent']]
In [26]:
john=john.set_index(['year'])
In [36]:
john.sum()
Out[36]:
В видеоролике далее строится диаграмма (график) год-процент..., а здесь эта команда не проходит. Ответ я нашел здесь in Ipython notebook, Pandas is not displying the graph I try to plot При попытке исправления бага произошел сбой.
Далее я решил описать три способа устранения ошибки графика - надо подгрузить библиотеку одним из трех способов:
Далее я решил описать три способа устранения ошибки графика - надо подгрузить библиотеку одним из трех способов:
In [40]:
# 3) использовать .show()
import matplotlib.pyplot as plt
In [*]:
plt.show()
In []:
# 1) Запускать notebook с опцией
ipython notebook --pylab=inline
In [3]:
# 2) Или использовать
%pylab inline
In [1]:
john.plot()
После перезагрузки ядра надо повторять все команды... Я лучше напишу еще один пост с другим видео этого автора. Так что графика здесь не будет.
Посты чуть ниже также могут вас заинтересовать
Комментариев нет:
Отправить комментарий