Pandas. Индексация и селекция

python > Pandas. Индексация и селекция
01.04.2020 20:06:33



Статья:

#!/usr/bin/env python
# coding: utf-8
 
# # Библиотека Pandas (Версия для Python 3)
 
# ## Data Frame
 
# In[1]:
 
 
import pandas as pd
 
#создание DataFrame с помощью чтения данных из файла
frame = pd.read_csv('data_sample_example.tsv', header=0, sep='\t')
 
frame
 
frame.dtypes
 
#изменение типа столбца с помощью функции apply
frame.Birth = frame.Birth.apply(pd.to_datetime)
 
frame
 
frame.dtypes
 
frame.info()
 
#заполнение пропущенных значений с помощью метода fillna
frame.fillna('разнорабочий')
 
#заполнение пропущенных значений с помощью метода fillna (inplace)
frame.fillna('разнорабочий', inplace=True)
 
frame
 
frame.Position
 
frame[['Position']]
 
 
 
frame[['Name', 'Position']]
 
frame[:3] #выбираем первые три записи
 
frame[-3:] #выбираем три послдение записи
 
 
frame.loc[[0,1,2], ["Name", "City"]] #работает на основе имен
 
frame.iloc[[1,3,5], [0,1]] #работает на основе позиций
 
frame.ix[[0,1,2], ["Name", "City"]]  #поддерживает и имена и позиции (пример с именами)
 
frame.ix[[0,1,2], [0,1]] #поддерживает и имена и позиции (пример с позициями)
 
#выбираем строки, которые удовлетворяют условию frame.Birth >= pd.datetime(1985,1,1)
frame[frame.Birth >= pd.datetime(1985,1,1)]
 
#выбираем строки, удовлетворяющие пересечению условий
frame[(frame.Birth >= pd.datetime(1985,1,1)) &
      (frame.City != 'Москва')]
 
 
#выбираем строки, удовлетворяющие объединению условий
frame[(frame.Birth >= pd.datetime(1985,1,1)) |
      (frame.City == 'Волгоград')]