Библиотека Pandas

Data Frame


In [1]:
import pandas as pd

In [4]:
frame = pd.DataFrame({'numbers': range(10), 'chars': ['a']*10})

In [6]:
frame


Out[6]:
chars numbers
0 a 0
1 a 1
2 a 2
3 a 3
4 a 4
5 a 5
6 a 6
7 a 7
8 a 8
9 a 9

In [34]:
frame = pd.read_csv('dataset.tsv', header=0, sep='\t')

In [35]:
frame


Out[35]:
Name Birth City Position
0 Иванов А.А. 22.03.1980 Москва NaN
1 Сорокин И.В. 07.08.1965 Волгоград инженер
2 Белов М.М. 13.02.1980 Ростов менеджер
3 Мельникова Д.С. 15.04.1985 Ростов NaN
4 Рыбина Е.П. 19.11.1985 Москва инженер
5 Костров С.О. 31.05.1985 Москва стажер

In [36]:
frame.columns


Out[36]:
Index([u'Name', u'Birth', u'City', u'Position'], dtype='object')

In [37]:
frame.shape


Out[37]:
(6, 4)

In [38]:
new_line = {'Name': 'Victor', 'Birth': '31.12.1994', 'City': 'Moscow'}

In [39]:
frame.append(new_line, ignore_index=True)


Out[39]:
Name Birth City Position
0 Иванов А.А. 22.03.1980 Москва NaN
1 Сорокин И.В. 07.08.1965 Волгоград инженер
2 Белов М.М. 13.02.1980 Ростов менеджер
3 Мельникова Д.С. 15.04.1985 Ростов NaN
4 Рыбина Е.П. 19.11.1985 Москва инженер
5 Костров С.О. 31.05.1985 Москва стажер
6 Victor 31.12.1994 Moscow NaN

In [40]:
frame


Out[40]:
Name Birth City Position
0 Иванов А.А. 22.03.1980 Москва NaN
1 Сорокин И.В. 07.08.1965 Волгоград инженер
2 Белов М.М. 13.02.1980 Ростов менеджер
3 Мельникова Д.С. 15.04.1985 Ростов NaN
4 Рыбина Е.П. 19.11.1985 Москва инженер
5 Костров С.О. 31.05.1985 Москва стажер

In [41]:
frame = frame.append(new_line, ignore_index=True)

In [42]:
frame


Out[42]:
Name Birth City Position
0 Иванов А.А. 22.03.1980 Москва NaN
1 Сорокин И.В. 07.08.1965 Волгоград инженер
2 Белов М.М. 13.02.1980 Ростов менеджер
3 Мельникова Д.С. 15.04.1985 Ростов NaN
4 Рыбина Е.П. 19.11.1985 Москва инженер
5 Костров С.О. 31.05.1985 Москва стажер
6 Victor 31.12.1994 Moscow NaN

In [43]:
frame['IsStudent'] = [False]*5 + [True]*2

In [44]:
frame


Out[44]:
Name Birth City Position IsStudent
0 Иванов А.А. 22.03.1980 Москва NaN False
1 Сорокин И.В. 07.08.1965 Волгоград инженер False
2 Белов М.М. 13.02.1980 Ростов менеджер False
3 Мельникова Д.С. 15.04.1985 Ростов NaN False
4 Рыбина Е.П. 19.11.1985 Москва инженер False
5 Костров С.О. 31.05.1985 Москва стажер True
6 Victor 31.12.1994 Moscow NaN True

In [45]:
frame.drop([5, 6], axis=0)


Out[45]:
Name Birth City Position IsStudent
0 Иванов А.А. 22.03.1980 Москва NaN False
1 Сорокин И.В. 07.08.1965 Волгоград инженер False
2 Белов М.М. 13.02.1980 Ростов менеджер False
3 Мельникова Д.С. 15.04.1985 Ростов NaN False
4 Рыбина Е.П. 19.11.1985 Москва инженер False

In [46]:
frame


Out[46]:
Name Birth City Position IsStudent
0 Иванов А.А. 22.03.1980 Москва NaN False
1 Сорокин И.В. 07.08.1965 Волгоград инженер False
2 Белов М.М. 13.02.1980 Ростов менеджер False
3 Мельникова Д.С. 15.04.1985 Ростов NaN False
4 Рыбина Е.П. 19.11.1985 Москва инженер False
5 Костров С.О. 31.05.1985 Москва стажер True
6 Victor 31.12.1994 Moscow NaN True

In [47]:
frame.drop([5, 6], axis=0, inplace=True)

In [48]:
frame


Out[48]:
Name Birth City Position IsStudent
0 Иванов А.А. 22.03.1980 Москва NaN False
1 Сорокин И.В. 07.08.1965 Волгоград инженер False
2 Белов М.М. 13.02.1980 Ростов менеджер False
3 Мельникова Д.С. 15.04.1985 Ростов NaN False
4 Рыбина Е.П. 19.11.1985 Москва инженер False

In [54]:
frame.drop('IsStudent', axis=1, inplace=True)


Out[54]:
Name Birth City Position
0 Иванов А.А. 22.03.1980 Москва NaN
1 Сорокин И.В. 07.08.1965 Волгоград инженер
2 Белов М.М. 13.02.1980 Ростов менеджер
3 Мельникова Д.С. 15.04.1985 Ростов NaN
4 Рыбина Е.П. 19.11.1985 Москва инженер

In [55]:
frame


Out[55]:
Name Birth City Position
0 Иванов А.А. 22.03.1980 Москва NaN
1 Сорокин И.В. 07.08.1965 Волгоград инженер
2 Белов М.М. 13.02.1980 Ростов менеджер
3 Мельникова Д.С. 15.04.1985 Ростов NaN
4 Рыбина Е.П. 19.11.1985 Москва инженер

In [56]:
frame.to_csv('update_dataset.csv', sep=',', header=True, index=None)

In [57]:
!cat update_dataset.csv


Name,Birth,City,Position
Иванов А.А.,22.03.1980,Москва,
Сорокин И.В.,07.08.1965,Волгоград,инженер
Белов М.М.,13.02.1980,Ростов,менеджер
Мельникова Д.С.,15.04.1985,Ростов,
Рыбина Е.П.,19.11.1985,Москва,инженер