Поиск по блогу

пятница, 24 апреля 2015 г.

Ручная сборка tab3 aerbu за 2014г..., штопаем носки с разными формами дырок

Порядок сборкм апрель+(май-июнь)+(июль-декабрь)+(февраль-март)+январь. Каждая группа файлов отличается от остальных количеством или порядком столбцов. Алгоритм действий: есть датафрейм pdall, в который по очереди добавляются датафреймы pdtemp или pdtemp_app (для группы файлов).
Каждый временный pdtemp_app сначала собирается из подобных файлов, а потом туда добавляются (при необходимости) дополнительные столбцы, переименовываются, изменяется порядок столбцов в соответствии с pdall.
В итоге получаем датафрейм за 2014г. и декабрь 2013, в котором потеряно 4 строки, а некоторые столбцы еще предстоит почистить и привести к числовым форматам. В конце поста распечатан итоговый csv файл.

In [6]:
%connect_info  #prints connection information
%qtconsole  
{
  "stdin_port": 55414, 
  "ip": "127.0.0.1", 
  "control_port": 38800, 
  "hb_port": 34360, 
  "signature_scheme": "hmac-sha256", 
  "key": "08b05b25-a823-499e-bef6-8dbc2075c6fe", 
  "shell_port": 48527, 
  "transport": "tcp", 
  "iopub_port": 52832
}

Paste the above JSON into a file, and connect with:
    $> ipython <app> --existing <file>
or, if you are local, you can connect with just:
    $> ipython <app> --existing kernel-b583a33c-7e32-4734-8003-3866eaadb3b6.json 
or even just:
    $> ipython <app> --existing 
if this is the most recent IPython session you have started.

Постановка задачи о ручном формировании сводных файлов.

  1. После предварительного анализа содержания найдено три варианта форматов (апрель, май, сентябрь)
  2. Для каждого формата состаляется список заголовков (столбцы с одинаковым содержанием долны иметь одинаковые имена)
  3. Затем мы перебираем все файлы в папке и для каждого выполняем подгонку для конкатенции в один из варианиов.
  4. Для коротких файлов все можно сделать при помощи объектов DataFrame, для длинных использовать truncate и tempfile
In [1]:
import os
import pandas as pd
import numpy as np
from cStringIO import StringIO
import tempfile
In [2]:
DIRPATH = '/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv/3aug2/'
filterfilenames = 'eng_car-sales-in'
# При считывании каждого файла во фрейм нужно будет добавлять столбец дат, 
# для этого мы используем список и словарь:
months = ['january', 'february', 'march', 'april', 'may', 'june',
        'july', 'august','september', 'october','november', 'december']
    
dict = {'january':'31-1', 'february':'28-2', 'march':'31-3',
        'april':'30-4', 'may':'31-5', 'june':'30-6',
        'july':'31-7', 'august':'31-8','september':'30-9', 
        'october':'31-10','november':'30-11', 'december':'31-12'}

Мы тщательно изучили файлы с подстрокой 'eng_car-sales-in' в имени файла

In [3]:
!ls '/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv/3aug2/'
eng_car-sales-in-april-2014.csv     eng_car-sales-in-may-2014.csv   sales-in-february_2014_eng_final.csv
eng_car-sales-in-august-2014.csv    eng_car-sales-in-november-2014.csv   sales-in-january_2014_eng_final_1.csv
eng_car-sales-in-december-2014.csv  eng_car-sales-in-october-2014.csv   sales-in-march_2014_eng_final.csv
eng_car-sales-in-july-2014.csv     eng_car-sales-in-september-2014.csv
eng_car-sales-in-june-2014.csv     sales-in-december_2013_eng_final.csv
####Откроем пост с фрагментами всех файлов [Пойди туда не знаю - куда... pandas.dtypes[0].name - страдания "чайника" ](http://pythonr.blogspot.ru/2015/04/pandasdtypes0name.html). Далее будем использовать термин **"Пост фрагментов"**

Здесь глаза "можно поломать", но как справочник выходные данные из In [87] можно использовать. Тем более, что мы уже знаем, что здесь встречаются три формата:

In [3]:
# month first
colnames_3_0_11_april =['n1_y', 'Model', 'Brandt', \
                  '2014y3', '2013y3', 'u1413y3', '1413y3', \
                  '2014m3', '2013m3', 'u1413m3', '1413m3', 'Datem']
In [4]:
# year first
colnames_3_0_11_may =['n1_y', 'Model', 'Brandt', \
                      '2014m3', '2013m3', 'u1413m3', '1413m3', \
                      '2014y3', '2013y3', 'u1413y3', '1413y3', 'Datem']
In [5]:
colnames_3_0_12 = ['n1_y', 'Model_y', 'Brandt_y', \
                   '2014y3', '2013y3', '1413y3', \
                   'n1_m', 'Model_m', 'Brandt_m', \
                   '2014m3', '2013m3', '1413m3', 'Datem']

По посту фрагментов мы можем увидеть, что события 2014г. развивались приблизительно так: Апрель - сначала данные нарастающим итогом Май, Июнь - переставлены столбцы - сначала данные помесячно. Июль ... Декабрь - убраны два столбца год/году в штуках, добавлено три столбца 'n1_m', 'Model_m', 'Brandt_m',

Попробуем самый простой метод - соберем все столбцы в одну таблицу.

In [9]:
colnames_all = ['n1_y', 'Model_y', 'Brandt_y', \
                   '2014y3', '2013y3', 'u1413y3', '1413y3', \
                   'n1_m', 'Model_m', 'Brandt_m', \
                   '2014m3', '2013m3', 'u1413m3', '1413m3', 'Datem']
In [11]:
def addDatem(csvfile):
    # Parse month name from filename
    namen = csvfile.split('-')[3]            # 'april' for example
    
    # Replace strings with dict     'april':'30-4', 
    datstr = dict[namen] + '-2014'  # '30-4-2014'    
    return datstr
In [16]:
pd.set_option('display.width', 5000) 
pd.set_option('display.max_columns', 60)

Начнем с апреля

In [17]:
csvfile = 'eng_car-sales-in-april-2014.csv'
csvfile_path = '/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv/3aug2/' + csvfile
pdtemp = pd.read_csv(csvfile_path, error_bad_lines=False, \
                     na_values=['-','n/a'], names=colnames_3_0_11_april, \
                     quotechar='"', sep=',', thousands=',')
pdtemp['Datem'] = addDatem(csvfile)
print pdtemp.head(2)
print pdtemp.tail(2)
   n1_y    Model   Brandt  2014y3  2013y3  u1413y3 1413y3  2014m3  2013m3  u1413m3 1413m3      Datem
0     1   Granta     Lada   45570   52765  (7,195)   -14%   13077   15596  (2,519)   -16%  30-4-2014
1     2  Solaris  Hyundai   35218   35941    (723)    -2%    9774   10553    (779)    -7%  30-4-2014
    n1_y      Model      Brandt  2014y3  2013y3 u1413y3 1413y3  2014m3  2013m3 u1413m3 1413m3      Datem
23    24  Outlander  Mitsubishi    9447    8015   1,432    18%    1526    2447   (921)   -38%  30-4-2014
24    25    X-Trail      Nissan    9177    8767     410     5%    1436    1614   (178)   -11%  30-4-2014

Теперь на надо добавить недостающие столбцы в pdtemp. На форматыы пока не обращаем внимание, на последовательност столбцов - тоже.

Создадим недостающие столбцы из :

In [ ]:
colnames_all = ['n1_y', 'Model_y', 'Brandt_y', \
                   '2014y3', '2013y3', 'u1413y3', '1413y3', \
                   'n1_m', 'Model_m', 'Brandt_m', \
                   '2014m3', '2013m3', 'u1413m3', '1413m3', 'Datem']

Создаем новые столбцы

Для этого просто добавим (создадим) столбцы вот так:

In [25]:
pdtemp['n1_m'] = pdtemp['n1_y'] 
pdtemp['Model_m'] = 'NaN'
pdtemp['Brandt_m'] = 'NaN'
In [26]:
pdtemp.head(2)
Out[26]:
n1_y Model Brandt 2014y3 2013y3 u1413y3 1413y3 2014m3 2013m3 u1413m3 1413m3 Datem n1_m Model_m Brandt_m
0 1 Granta Lada 45570 52765 (7,195) -14% 13077 15596 (2,519) -16% 30-4-2014 1 NaN NaN
1 2 Solaris Hyundai 35218 35941 (723) -2% 9774 10553 (779) -7% 30-4-2014 2 NaN NaN

Проверили, все совпадает, кроме названий столбцов 'Model_y', 'Brandt_y', заменим имена всех столбцов:

Замена имен столбцов - надо поменять весь список

In [28]:
pdtemp.columns = ['n1_y', 'Model_y', 'Brandt_y', \
                   '2014y3', '2013y3', 'u1413y3', '1413y3', \
                   '2014m3', '2013m3', 'u1413m3', '1413m3', 'Datem', \
                   'n1_m', 'Model_m', 'Brandt_m']
In [29]:
pdtemp.head(2)
Out[29]:
n1_y Model_y Brandt_y 2014y3 2013y3 u1413y3 1413y3 2014m3 2013m3 u1413m3 1413m3 Datem n1_m Model_m Brandt_m
0 1 Granta Lada 45570 52765 (7,195) -14% 13077 15596 (2,519) -16% 30-4-2014 1 NaN NaN
1 2 Solaris Hyundai 35218 35941 (723) -2% 9774 10553 (779) -7% 30-4-2014 2 NaN NaN

Все имена столбцов новые..., на самом деле мы заменили только два имени. Можно было бы сделать это попроще:

In [30]:
pdtemp.columns[1]
Out[30]:
'Model_y'

НИже опечатка, хотел переприсвоить имя, но пропустил идентификацию столца..., получилось, что присвоил имя индексу.

In [42]:
pdtemp.columns.name = 'Myindex'

Попробуем поменять имя предпоследнего столбца, он оказывается, что поменять имя одного столбца не так просто:

In [ ]:
# Вот так не получится
pdtemp.columns['Model_m'] = 'Model_mm'
print pdtemp.columns[-2]

А вот использовать специальный метод можно

In [45]:
pdtemp.rename(columns={list(pdtemp)[-2]:'col1_new_name'}, inplace=True)
In [46]:
pdtemp.head(2)
Out[46]:
Myindex n1_y Model_y Brandt_y 2014y3 2013y3 u1413y3 1413y3 2014m3 2013m3 u1413m3 1413m3 Datem n1_m col1_new_name Brandt_m
0 1 Granta Lada 45570 52765 (7,195) -14% 13077 15596 (2,519) -16% 30-4-2014 1 NaN NaN
1 2 Solaris Hyundai 35218 35941 (723) -2% 9774 10553 (779) -7% 30-4-2014 2 NaN NaN

Все получилось, теперь вернем столбцу прежнее имя:

In [52]:
pdtemp.rename(columns={list(pdtemp)[-2]:'Model_m'}, inplace=True)

Здесь я нашел два способа переименования Renaming columns in pandas ...использование .rename(columns =...) предпочтительнее, чем просто переименование pdtemp.columns = [...] И лучше (приходится) задавать весь список столбцов, а не один, как я пытался.

Теперь переставим столбцы, как в colnames_all , и присвоим новому датафрейму

In [57]:
cols = list(pdtemp.columns.values)
cols
Out[57]:
['n1_y',
 'Model_y',
 'Brandt_y',
 '2014y3',
 '2013y3',
 'u1413y3',
 '1413y3',
 '2014m3',
 '2013m3',
 'u1413m3',
 '1413m3',
 'Datem',
 'n1_m',
 'Model_m',
 'Brandt_m']

Выше прием контроля правильность списка, просто берешь и копипастишь вниз. А потом аккуратно переставляешь имена (три последних в середину)

Вот, как изменить порядок столбцов pdtemp при присвоении pdall

In [62]:
pdall = pdtemp[['n1_y',
 'Model_y',
 'Brandt_y',
 '2014y3',
 '2013y3',
 'u1413y3',
 '1413y3',
 'n1_m',
 'Model_m',
 'Brandt_m',               
 '2014m3',
 '2013m3',
 'u1413m3',
 '1413m3',
 'Datem',]]

Внимание, здесь двойные квадратные скобки. Одни - для индекса, а другие - для списка.

In [63]:
pdall.head(2)
Out[63]:
Myindex n1_y Model_y Brandt_y 2014y3 2013y3 u1413y3 1413y3 n1_m Model_m Brandt_m 2014m3 2013m3 u1413m3 1413m3 Datem
0 1 Granta Lada 45570 52765 (7,195) -14% 1 NaN NaN 13077 15596 (2,519) -16% 30-4-2014
1 2 Solaris Hyundai 35218 35941 (723) -2% 2 NaN NaN 9774 10553 (779) -7% 30-4-2014

Вот, что получмлось. Теперь pdall содержит данные за апрель, но формат таблицы универсальный. Еще раз проверим содержание столбцов . Ошибки!!! Мы присвоили Nan двум столбцам с названиями моделей и фирм. Переприсвоим столбцы.

Переприсвоить значения столбца не так просто, инетрпертатор команду выполняет, но рекомендует .loc[row_indexer,col_indexer] = value instead

In [64]:
pdall['Model_m'] = pdall['Model_y']
pdall['Brandt_m'] = pdall['Brandt_y']
/usr/local/lib/python2.7/dist-packages/IPython/kernel/__main__.py:1: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  if __name__ == '__main__':
/usr/local/lib/python2.7/dist-packages/IPython/kernel/__main__.py:2: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  from IPython.kernel.zmq import kernelapp as app
In [65]:
pdall.head(2)
Out[65]:
Myindex n1_y Model_y Brandt_y 2014y3 2013y3 u1413y3 1413y3 n1_m Model_m Brandt_m 2014m3 2013m3 u1413m3 1413m3 Datem
0 1 Granta Lada 45570 52765 (7,195) -14% 1 Granta Lada 13077 15596 (2,519) -16% 30-4-2014
1 2 Solaris Hyundai 35218 35941 (723) -2% 2 Solaris Hyundai 9774 10553 (779) -7% 30-4-2014

С руганью, но переприсвоение прошло. Идем по ссылке из warning и читаем

These both yield the same results, so which should you use? It is instructive to understand the order of operations on these and why method 2 (.loc) is much preferred over method 1 (chained [])

dfmi['one'] selects the first level of the columns and returns a data frame that is singly-indexed. Then another python operation dfmiwithone['second'] selects the series indexed by 'second' happens. This is indicated by the variable dfmi_with_one because pandas sees these operations as separate events. e.g. separate calls to __getitem, so it has to treat them as linear operations, they happen one after another.

Пробуем, как просят Try using .loc[row_indexer,col_indexer] = value instead

In [74]:
pdall.loc[:2,'Model_m']
Out[74]:
0     Granta
1    Solaris
2    New Rio
Name: Model_m, dtype: object

Чтобы переприсвоить столбцы нужно использовать метод .loc

In [77]:
pdall.loc[:24,'Model_m'] = pdall['Model_y']
In [78]:
pdall.tail(2)
Out[78]:
Myindex n1_y Model_y Brandt_y 2014y3 2013y3 u1413y3 1413y3 n1_m Model_m Brandt_m 2014m3 2013m3 u1413m3 1413m3 Datem
23 24 Outlander Mitsubishi 9447 8015 1,432 18% 24 Outlander Mitsubishi 1526 2447 (921) -38% 30-4-2014
24 25 X-Trail Nissan 9177 8767 410 5% 25 X-Trail Nissan 1436 1614 (178) -11% 30-4-2014

И после всех этих упражнений до меня стал доходить смысл предупреждений (ругани) интерпретатора Python. Не любит он итерировать один и тот же объект, когда его его части стоят и справа и слева от знака присвоения. Боится ошибиться...

In [ ]:
#### Теперь у нас есть pdall c данными апреля, добавим туда май и июнь
In [82]:
listdir = ['eng_car-sales-in-may-2014.csv', 
           'eng_car-sales-in-june-2014.csv',] 

c_path = '/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv/3aug2/'
colnames = colnames_3_0_11_may # list of names
In [83]:
# def addDatem(csvfile)  parse 'may' from string
# like this:
# csvfile = 'eng_car-sales-in-may-2014.csv'
###
pdtemp_app =  pd.DataFrame()
for csvfile in listdir:  
    pdtemp = pd.read_csv((c_path + csvfile), error_bad_lines=False, \
                         na_values=['-','n/a'], names=colnames, \
                         quotechar='"', sep=',', thousands=',')
    pdtemp['Datem'] = addDatem(csvfile)                       
    pdtemp_app = pd.concat([pdtemp_app, pdtemp], ignore_index=True)     



print pdtemp_app.head(2)
print pdtemp_app.tail(2)
   n1_y    Model   Brandt  2014m3  2013m3 u1413m3 1413m3  2014y3  2013y3 u1413y3 1413y3      Datem
0     1     Lada   Granta   12947   14471   -1524   -11%   58517   67236   -8719   -13%  31-5-2014
1     2  Hyundai  Solaris    9791   10493    -702    -7%   45009   46434   -1425    -3%  31-5-2014
    n1_y  Model Brandt  2014m3  2013m3 u1413m3 1413m3  2014y3  2013y3 u1413y3 1413y3      Datem
48    24  Mazda   CX-5    2063    1656     407    25%   14450    8164   6,286    77%  30-6-2014
49    25     VW  Jetta    2038    1792     246    14%   10932   10636     296     3%  30-6-2014

print pdtemp_app.tail(2)

Теперь быстренько изменим таблицу на универсальную

In [84]:
# Вот наш образец для новой универсальной таблицы
print In[9]
colnames_all = ['n1_y', 'Model_y', 'Brandt_y',                    '2014y3', '2013y3', 'u1413y3', '1413y3',                    'n1_m', 'Model_m', 'Brandt_m',                    '2014m3', '2013m3', 'u1413m3', '1413m3', 'Datem']
In [ ]:
#### Добавим недостающие столбцы
In [87]:
pdtemp_app['n1_m'] = pdtemp_app['n1_y'] 
pdtemp_app['Model_m'] = pdtemp_app['Model']
pdtemp_app['Brandt_m'] = pdtemp_app['Brandt']

Теперь нам надо переиеновать столбцы Model Brandt

In [89]:
list(pdtemp_app.columns.values)
Out[89]:
['n1_y',
 'Model',
 'Brandt',
 '2014m3',
 '2013m3',
 'u1413m3',
 '1413m3',
 '2014y3',
 '2013y3',
 'u1413y3',
 '1413y3',
 'Datem',
 'n1_m',
 'Model_m',
 'Brandt_m']

Здесь нам нужно будет тщательнейшим образом исправить имена трех первых и трех последних столбцов, в мае и июне - впереди помесячные данные, а потом нарастающий итог (он больше).

In [91]:
pdtemp_app.columns = ['n1_m',
 'Model_m',
 'Brandt_m',
 '2014m3',
 '2013m3',
 'u1413m3',
 '1413m3',
 '2014y3',
 '2013y3',
 'u1413y3',
 '1413y3',
 'Datem',
 'n1_y',
 'Model_y',
 'Brandt_y']
In [92]:
pdtemp_app.head(2)
Out[92]:
n1_m Model_m Brandt_m 2014m3 2013m3 u1413m3 1413m3 2014y3 2013y3 u1413y3 1413y3 Datem n1_y Model_y Brandt_y
0 1 Lada Granta 12947 14471 -1524 -11% 58517 67236 -8719 -13% 31-5-2014 1 Lada Granta
1 2 Hyundai Solaris 9791 10493 -702 -7% 45009 46434 -1425 -3% 31-5-2014 2 Hyundai Solaris
In [95]:
pdtemp_app = pdtemp_app[['n1_m',
 'Model_m',
 'Brandt_m',
 '2014m3',
 '2013m3',
 'u1413m3',
 '1413m3',
 'n1_y',
 'Model_y',
 'Brandt_y',
 '2014y3',
 '2013y3',
 'u1413y3',
 '1413y3',
 'Datem']]
In [104]:
pdtemp_app.tail(2)
Out[104]:
n1_m Model_m Brandt_m 2014m3 2013m3 u1413m3 1413m3 n1_y Model_y Brandt_y 2014y3 2013y3 u1413y3 1413y3 Datem
48 24 Mazda CX-5 2063 1656 407 25% 24 Mazda CX-5 14450 8164 6,286 77% 30-6-2014
49 25 VW Jetta 2038 1792 246 14% 25 VW Jetta 10932 10636 296 3% 30-6-2014

Теперь выполним конкатенцию, но сначала сравним порядок столбцов

In [99]:
pdall.tail(2)
Out[99]:
Myindex n1_y Model_y Brandt_y 2014y3 2013y3 u1413y3 1413y3 n1_m Model_m Brandt_m 2014m3 2013m3 u1413m3 1413m3 Datem
23 24 Outlander Mitsubishi 9447 8015 1,432 18% 24 Outlander Mitsubishi 1526 2447 (921) -38% 30-4-2014
24 25 X-Trail Nissan 9177 8767 410 5% 25 X-Trail Nissan 1436 1614 (178) -11% 30-4-2014

До этогомомента все шло сравнительно легко, но меня регулярно отвлекали от работы, и я "забыл", что столбцы переставлены..., но это не страшно. Плохо то, что я "не хотел" лишний раз проверять pdall. И вот оказалось, что чуть не склеил разные столбцы "криво". Переставим данные по последней майской моде:

In [100]:
pdall = pdall[['n1_m',
 'Model_m',
 'Brandt_m',
 '2014m3',
 '2013m3',
 'u1413m3',
 '1413m3',
 'n1_y',
 'Model_y',
 'Brandt_y',
 '2014y3',
 '2013y3',
 'u1413y3',
 '1413y3',
 'Datem']]
In [101]:
pdall.tail(2)
Out[101]:
Myindex n1_m Model_m Brandt_m 2014m3 2013m3 u1413m3 1413m3 n1_y Model_y Brandt_y 2014y3 2013y3 u1413y3 1413y3 Datem
23 24 Outlander Mitsubishi 1526 2447 (921) -38% 24 Outlander Mitsubishi 9447 8015 1,432 18% 30-4-2014
24 25 X-Trail Nissan 1436 1614 (178) -11% 25 X-Trail Nissan 9177 8767 410 5% 30-4-2014

А вот теперь выполним конкатенцию

In [102]:
pdall = pd.concat([pdall, pdtemp_app], ignore_index=True)
In [103]:
pdall.tail(2)
Out[103]:
n1_m Model_m Brandt_m 2014m3 2013m3 u1413m3 1413m3 n1_y Model_y Brandt_y 2014y3 2013y3 u1413y3 1413y3 Datem
73 24 Mazda CX-5 2063 1656 407 25% 24 Mazda CX-5 14450 8164 6,286 77% 30-6-2014
74 25 VW Jetta 2038 1792 246 14% 25 VW Jetta 10932 10636 296 3% 30-6-2014

Теперь у нас в сводной таблице 75 строк (как и положено), перейдем к следующе группе файлов

Добавим к pdall (апрель-июнь) шесть таблиц (июль-декабрь)

In [105]:
listdir = ['eng_car-sales-in-july-2014.csv',
           'eng_car-sales-in-august-2014.csv', 
           'eng_car-sales-in-september-2014.csv',
           'eng_car-sales-in-october-2014.csv', 
           'eng_car-sales-in-november-2014.csv',
           'eng_car-sales-in-december-2014.csv',] 

c_path = '/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv/3aug2/'
colnames = colnames_3_0_12 # list of names
In [106]:
# def addDatem(csvfile)  parse 'may' from string
# like this:
# csvfile = 'eng_car-sales-in-may-2014.csv'
###
pdtemp_app =  pd.DataFrame()
for csvfile in listdir:  
    pdtemp = pd.read_csv((c_path + csvfile), error_bad_lines=False, \
                         na_values=['-','n/a'], names=colnames, \
                         quotechar='"', sep=',', thousands=',')
    pdtemp['Datem'] = addDatem(csvfile)                       
    pdtemp_app = pd.concat([pdtemp_app, pdtemp], ignore_index=True)     



print pdtemp_app.head(2)
print pdtemp_app.tail(2)
   n1_y  Model_y Brandt_y  2014y3  2013y3   1413y3  n1_m  Model_m Brandt_m  2014m3  2013m3    1413m3      Datem
0     1   Granta     Lada   11819   14542  (2,723)     1   Granta     Lada   83294   98787  (15,493)  31-7-2014
1     2  Solaris  Hyundai    9778    9482      296     2  Solaris  Hyundai   65352   66491   (1,139)  31-7-2014
     n1_y Model_y Brandt_y  2014y3  2013y3 1413y3  n1_m  Model_m Brandt_m  2014m3  2013m3   1413m3       Datem
144    24    CX-5    Mazda    3281    2196  1,085    24  Corolla   Toyota   27704   30644  (2,940)  31-12-2014
145    25   Mokka     Opel    3121    1260  1,861    25     CX-5    Mazda   24953   19725    5,228  31-12-2014

Видим две ошибки: 1) впереди не нарастающий итог, а месяц, 2) Всего 146 строк, где потерялись 4 строки?

In [ ]:
#### Переименуем столбцы (исправляем ошибу 1) 
In [107]:
list(pdtemp_app.columns.values)
Out[107]:
['n1_y',
 'Model_y',
 'Brandt_y',
 '2014y3',
 '2013y3',
 '1413y3',
 'n1_m',
 'Model_m',
 'Brandt_m',
 '2014m3',
 '2013m3',
 '1413m3',
 'Datem']
In [108]:
pdtemp_app.columns = ['n1_m',
 'Model_m',
 'Brandt_m',
 '2014m3',
 '2013m3',
 '1413m3',
 'n1_y',
 'Model_y',
 'Brandt_y',
 '2014y3',
 '2013y3',
 '1413y3',
 'Datem']
In [109]:
pdtemp_app.head(2)
Out[109]:
n1_m Model_m Brandt_m 2014m3 2013m3 1413m3 n1_y Model_y Brandt_y 2014y3 2013y3 1413y3 Datem
0 1 Granta Lada 11819 14542 (2,723) 1 Granta Lada 83294 98787 (15,493) 31-7-2014
1 2 Solaris Hyundai 9778 9482 296 2 Solaris Hyundai 65352 66491 (1,139) 31-7-2014

И снова сравним со сводной таблицей

In [110]:
pdall.tail(2)
Out[110]:
n1_m Model_m Brandt_m 2014m3 2013m3 u1413m3 1413m3 n1_y Model_y Brandt_y 2014y3 2013y3 u1413y3 1413y3 Datem
73 24 Mazda CX-5 2063 1656 407 25% 24 Mazda CX-5 14450 8164 6,286 77% 30-6-2014
74 25 VW Jetta 2038 1792 246 14% 25 VW Jetta 10932 10636 296 3% 30-6-2014

Ага, мы забыли, что теперь нет столбцов с абсолютной разницей в штуках... Вообще-то он лишний (поскольку моно отнять из года год в любое время). Но обычно думать на эти темы некогда... И, если не думать, то нам достаточно просто обозначить столбец с NaN' (мы это присвоение уже попробовали). И поскольку мы уже подумали, то попробуем этот столбец посчитать:

In [ ]:
pdtemp_app['u1413m3'] = pdtemp_app['2014m3'] - pdtemp_app['2013m3']
pdtemp_app['u1413y3'] = pdtemp_app['2014y3'] - pdtemp_app['2013y3']

Однако, не получится, в ячейках встречаются скобки, значит формат столбца - строковый (object). А мы решили сначала все склеить, а уже потом почистить..., а уж потом можно будет и вычислять... Так что тупой вариант самый правильный:

In [111]:
pdtemp_app['u1413m3'] = 'NaN'
pdtemp_app['u1413y3'] = 'NaN'
In [112]:
list(pdtemp_app.columns.values)
Out[112]:
['n1_m',
 'Model_m',
 'Brandt_m',
 '2014m3',
 '2013m3',
 '1413m3',
 'n1_y',
 'Model_y',
 'Brandt_y',
 '2014y3',
 '2013y3',
 '1413y3',
 'Datem',
 'u1413m3',
 'u1413y3']

Чтобы заполнить эту ячейку проще скопипастить выше для pdall

In [113]:
pdtemp_app = pdtemp_app[['n1_m',
 'Model_m',
 'Brandt_m',
 '2014m3',
 '2013m3',
 'u1413m3',
 '1413m3',
 'n1_y',
 'Model_y',
 'Brandt_y',
 '2014y3',
 '2013y3',
 'u1413y3',
 '1413y3',
 'Datem']]

И снова проверяем:

In [114]:
pdtemp_app.tail(2)
Out[114]:
n1_m Model_m Brandt_m 2014m3 2013m3 u1413m3 1413m3 n1_y Model_y Brandt_y 2014y3 2013y3 u1413y3 1413y3 Datem
144 24 CX-5 Mazda 3281 2196 NaN 1,085 24 Corolla Toyota 27704 30644 NaN (2,940) 31-12-2014
145 25 Mokka Opel 3121 1260 NaN 1,861 25 CX-5 Mazda 24953 19725 NaN 5,228 31-12-2014
In [115]:
pdall.tail(2)
Out[115]:
n1_m Model_m Brandt_m 2014m3 2013m3 u1413m3 1413m3 n1_y Model_y Brandt_y 2014y3 2013y3 u1413y3 1413y3 Datem
73 24 Mazda CX-5 2063 1656 407 25% 24 Mazda CX-5 14450 8164 6,286 77% 30-6-2014
74 25 VW Jetta 2038 1792 246 14% 25 VW Jetta 10932 10636 296 3% 30-6-2014
In [ ]:
####Теперь в pdall (апрель-июнь)+(июль-декабрь)  3+6=9 таблиц 
In [116]:
pdall = pd.concat([pdall, pdtemp_app], ignore_index=True)
In [117]:
pdall.tail(2)
Out[117]:
n1_m Model_m Brandt_m 2014m3 2013m3 u1413m3 1413m3 n1_y Model_y Brandt_y 2014y3 2013y3 u1413y3 1413y3 Datem
219 24 CX-5 Mazda 3281 2196 NaN 1,085 24 Corolla Toyota 27704 30644 NaN (2,940) 31-12-2014
220 25 Mokka Opel 3121 1260 NaN 1,861 25 CX-5 Mazda 24953 19725 NaN 5,228 31-12-2014

Должно было быть 225 строк, но пока не будем искать недоствющие.

Сохраним все 9 месяцев в csv файл

In [121]:
pdall.to_csv((c_path +'pdall2014_9.csv'), sep=';')

Дабы не искать папку, в которой сохранен файл:

In [122]:
c_path
Out[122]:
'/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv/3aug2/'

Февраль и март

In [123]:
import os
os.listdir(c_path)
Out[123]:
['eng_car-sales-in-april-2014.csv',
 'eng_car-sales-in-august-2014.csv',
 'eng_car-sales-in-december-2014.csv',
 'eng_car-sales-in-july-2014.csv',
 'eng_car-sales-in-june-2014.csv',
 'eng_car-sales-in-may-2014.csv',
 'eng_car-sales-in-november-2014.csv',
 'eng_car-sales-in-october-2014.csv',
 'eng_car-sales-in-september-2014.csv',
 'sales-in-december_2013_eng_final.csv',
 'sales-in-february_2014_eng_final.csv',
 'sales-in-january_2014_eng_final_1.csv',
 'sales-in-march_2014_eng_final.csv',
 'eng_car-sales-in-april-2014.csvpdall2014_9.csv',
 'pdall2014_9.csv',
 '.pdall2014_9.csv.swp']
In [124]:
listdir = ['sales-in-february_2014_eng_final.csv',
            'sales-in-march_2014_eng_final.csv'] 

c_path = '/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv/3aug2/'
colnames = colnames_3_0_11_april # list of names

Здесь мы изменим условие присвоения дат. На каждой итерации это делать неправильно...

In [127]:
# def addDatem(csvfile)  parse 'may' from string
# like this:
# csvfile = 'eng_car-sales-in-may-2014.csv'
###
pdtemp_app =  pd.DataFrame()
for csvfile in listdir:  
    pdtemp = pd.read_csv((c_path + csvfile), error_bad_lines=False, \
                         na_values=['-','n/a'], names=colnames, \
                         quotechar='"', sep=',', thousands=',')
    if csvfile == listdir[0]:
        pdtemp['Datem'] = '28-2-2014' 
    else:
        pdtemp['Datem'] = '28-3-2014'                     
    pdtemp_app = pd.concat([pdtemp_app, pdtemp], ignore_index=True)     



print pdtemp_app.head(2)
print pdtemp_app.tail(2)
   n1_y    Model   Brandt  2014y3  2013y3  u1413y3 1413y3  2014m3  2013m3 u1413m3 1413m3      Datem
0     1   Granta     Lada   19535   22796  (3 261)   -14%   11280   12207   (927)    -8%  28-2-2014
1     2  Solaris  Hyundai   15607   15778    (171)    -1%    8660    8425     235     3%  28-2-2014
    n1_y    Model  Brandt  2014y3  2013y3  u1413y3 1413y3  2014m3  2013m3  u1413m3 1413m3      Datem
48    24    Camry  Toyota    7351    7252       99     1%    2952    2774      178     6%  28-3-2014
49    25  Qashqai  Nissan    6916    9599  (2 683)   -28%    1904    3510  (1 606)   -46%  28-3-2014
In [128]:
pdtemp_app['n1_m'] = pdtemp_app['n1_y'] 
pdtemp_app['Model_m'] = pdtemp_app['Model']
pdtemp_app['Brandt_m'] = pdtemp_app['Brandt']
In [131]:
pdtemp_app.head(2)
Out[131]:
n1_y Model Brandt 2014y3 2013y3 u1413y3 1413y3 2014m3 2013m3 u1413m3 1413m3 Datem n1_m Model_m Brandt_m
0 1 Granta Lada 19535 22796 (3 261) -14% 11280 12207 (927) -8% 28-2-2014 1 Granta Lada
1 2 Solaris Hyundai 15607 15778 (171) -1% 8660 8425 235 3% 28-2-2014 2 Solaris Hyundai
In [132]:
pdtemp_app.columns = ['n1_y', 'Model_y', 'Brandt_y', \
                   '2014y3', '2013y3', 'u1413y3', '1413y3', \
                   '2014m3', '2013m3', 'u1413m3', '1413m3', 'Datem', \
                   'n1_m', 'Model_m', 'Brandt_m']
In [133]:
list(pdall.columns.values)
Out[133]:
['n1_m',
 'Model_m',
 'Brandt_m',
 '2014m3',
 '2013m3',
 'u1413m3',
 '1413m3',
 'n1_y',
 'Model_y',
 'Brandt_y',
 '2014y3',
 '2013y3',
 'u1413y3',
 '1413y3',
 'Datem']
In [134]:
pdtemp_app = pdtemp_app[['n1_m',
 'Model_m',
 'Brandt_m',
 '2014m3',
 '2013m3',
 'u1413m3',
 '1413m3',
 'n1_y',
 'Model_y',
 'Brandt_y',
 '2014y3',
 '2013y3',
 'u1413y3',
 '1413y3',
 'Datem']]
In [135]:
pdtemp_app.head(2)
Out[135]:
n1_m Model_m Brandt_m 2014m3 2013m3 u1413m3 1413m3 n1_y Model_y Brandt_y 2014y3 2013y3 u1413y3 1413y3 Datem
0 1 Granta Lada 11280 12207 (927) -8% 1 Granta Lada 19535 22796 (3 261) -14% 28-2-2014
1 2 Solaris Hyundai 8660 8425 235 3% 2 Solaris Hyundai 15607 15778 (171) -1% 28-2-2014
In [136]:
pdall.head(2)
Out[136]:
n1_m Model_m Brandt_m 2014m3 2013m3 u1413m3 1413m3 n1_y Model_y Brandt_y 2014y3 2013y3 u1413y3 1413y3 Datem
0 1 Granta Lada 13077 15596 (2,519) -16% 1 Granta Lada 45570 52765 (7,195) -14% 30-4-2014
1 2 Solaris Hyundai 9774 10553 (779) -7% 2 Solaris Hyundai 35218 35941 (723) -2% 30-4-2014
In [137]:
pdall = pd.concat([pdtemp_app, pdall], ignore_index=True)
In [138]:
pdall.head(2)
Out[138]:
n1_m Model_m Brandt_m 2014m3 2013m3 u1413m3 1413m3 n1_y Model_y Brandt_y 2014y3 2013y3 u1413y3 1413y3 Datem
0 1 Granta Lada 11280 12207 (927) -8% 1 Granta Lada 19535 22796 (3 261) -14% 28-2-2014
1 2 Solaris Hyundai 8660 8425 235 3% 2 Solaris Hyundai 15607 15778 (171) -1% 28-2-2014

Январь

In [143]:
list(pdall.columns.values)
Out[143]:
['n1_m',
 'Model_m',
 'Brandt_m',
 '2014m3',
 '2013m3',
 'u1413m3',
 '1413m3',
 'n1_y',
 'Model_y',
 'Brandt_y',
 '2014y3',
 '2013y3',
 'u1413y3',
 '1413y3',
 'Datem']
In [155]:
listdir = ['sales-in-january_2014_eng_final_1.csv',] 

c_path = '/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv/3aug2/'
colnames = ['n1_m',
 'Model_m',
 'Brandt_m',
 '2014m3',
 '2013m3',
 'u1413m3',
 '1413m3', 
 'Datem' ] # list of names
In [156]:
for csvfile in listdir:  
    pdtempj = pd.read_csv((c_path + csvfile), error_bad_lines=False, \
                         na_values=['-','n/a'], names=colnames, \
                         quotechar='"', sep=',', thousands=',')


print pdtempj.head(2)
print pdtempj.tail(2)
   n1_m  Model_m Brandt_m  2014m3  2013m3  u1413m3 1413m3  Datem
0     1   Granta     Lada    8255   10589  (2 334)   -22%    NaN
1     2  Solaris  Hyundai    6947    7353    (406)    -6%    NaN
    n1_m   Model_m Brandt_m  2014m3  2013m3 u1413m3 1413m3  Datem
23    24   Corolla   Toyota    1895    1242     653    53%    NaN
24    25  Sportage      KIA    1885    2452   (567)   -23%    NaN
In [162]:
pdtempj['Datem'] = '31-1-2014' 
In [163]:
pdtempj.head(2)
Out[163]:
n1_m Model_m Brandt_m 2014m3 2013m3 u1413m3 1413m3 Datem
0 1 Granta Lada 8255 10589 (2 334) -22% 31-1-2014
1 2 Solaris Hyundai 6947 7353 (406) -6% 31-1-2014
In [164]:
pdtempj['n1_y'] = 'NaN'
pdtempj['Model_y'] = 'NaN'
pdtempj['Brandt_y'] = 'NaN'
pdtempj['2014y3'] = 'NaN'
pdtempj['2013y3'] = 'NaN'
pdtempj['u1413y3'] = 'NaN'
pdtempj['1413y3'] = 'NaN'
In [165]:
pdtempj = pdtempj[['n1_m',
 'Model_m',
 'Brandt_m',
 '2014m3',
 '2013m3',
 'u1413m3',
 '1413m3',
 'n1_y',
 'Model_y',
 'Brandt_y',
 '2014y3',
 '2013y3',
 'u1413y3',
 '1413y3',
 'Datem']]
In [166]:
pdtempj.head(2)
Out[166]:
n1_m Model_m Brandt_m 2014m3 2013m3 u1413m3 1413m3 n1_y Model_y Brandt_y 2014y3 2013y3 u1413y3 1413y3 Datem
0 1 Granta Lada 8255 10589 (2 334) -22% NaN NaN NaN NaN NaN NaN NaN 31-1-2014
1 2 Solaris Hyundai 6947 7353 (406) -6% NaN NaN NaN NaN NaN NaN NaN 31-1-2014
In [161]:
pdall.head(2)
Out[161]:
n1_m Model_m Brandt_m 2014m3 2013m3 u1413m3 1413m3 n1_y Model_y Brandt_y 2014y3 2013y3 u1413y3 1413y3 Datem
0 1 Granta Lada 11280 12207 (927) -8% 1 Granta Lada 19535 22796 (3 261) -14% 28-2-2014
1 2 Solaris Hyundai 8660 8425 235 3% 2 Solaris Hyundai 15607 15778 (171) -1% 28-2-2014
In [167]:
pdall = pd.concat([pdtempj, pdall], ignore_index=True)
In [168]:
pdall.head(2)
Out[168]:
n1_m Model_m Brandt_m 2014m3 2013m3 u1413m3 1413m3 n1_y Model_y Brandt_y 2014y3 2013y3 u1413y3 1413y3 Datem
0 1 Granta Lada 8255 10589 (2 334) -22% NaN NaN NaN NaN NaN NaN NaN 31-1-2014
1 2 Solaris Hyundai 6947 7353 (406) -6% NaN NaN NaN NaN NaN NaN NaN 31-1-2014
In [169]:
pdall.to_csv((c_path +'pdall2014_12.csv'), sep=';')
In [172]:
c_path
Out[172]:
'/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv/3aug2/'
In [ ]:
####В папке есть еще и декабрь 2013
In [176]:
listdir = ['sales-in-december_2013_eng_final.csv',] 

c_path = '/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv/3aug2/'
colnames = ['n1_m',
 'Model_m',
 'Brandt_m',
 '2014m3',
 '2013m3',
 'u1413m3',
 '1413m3',
 '2014y3',
 '2013y3',
 'u1413y3',
 '1413y3',
 'Datem' ] # list of names
In [177]:
for csvfile in listdir:  
    pdtempj = pd.read_csv((c_path + csvfile), error_bad_lines=False, \
                         na_values=['-','n/a'], names=colnames, \
                         quotechar='"', sep=',', thousands=',')


print pdtempj.head(2)
print pdtempj.tail(2)
   n1_m  Model_m Brandt_m  2014m3  2013m3 u1413m3 1413m3  2014y3  2013y3 u1413y3 1413y3  Datem
0     1   Granta     Lada  166947  121151   45796    38%   12923   13153   (230)    -2%    NaN
1     2  Solaris  Hyundai  113991  110776    3215     3%    8824    7196    1628    23%    NaN
    n1_m  Model_m Brandt_m  2014m3  2013m3   u1413m3 1413m3  2014y3  2013y3  u1413y3 1413y3  Datem
23    24  Corolla   Toyota   30644   33262   (2 618)    -8%    3297    2334      963    41%    NaN
24    25    Nexia   Daewoo   28898   55034  (26 136)   -47%    1920    5238  (3 318)   -63%    NaN
In [178]:
pdtempj['Datem'] = '31-12-2013' 
In [181]:
pdtempj['n1_y'] = pdtempj['n1_m'] 
pdtempj['Model_y'] = pdtempj['Model_m']
pdtempj['Brandt_y'] = pdtempj['Brandt_m']
In [182]:
pdtempj.head(2)
Out[182]:
n1_m Model_m Brandt_m 2014m3 2013m3 u1413m3 1413m3 2014y3 2013y3 u1413y3 1413y3 Datem n1_y Model_y Brandt_y
0 1 Granta Lada 166947 121151 45796 38% 12923 13153 (230) -2% 31-12-2013 1 Granta Lada
1 2 Solaris Hyundai 113991 110776 3215 3% 8824 7196 1628 23% 31-12-2013 2 Solaris Hyundai
In [183]:
pdtempj.columns = ['n1_y', 'Model_y', 'Brandt_y', \
                   '2014y3', '2013y3', 'u1413y3', '1413y3', \
                   '2014m3', '2013m3', 'u1413m3', '1413m3', 'Datem', \
                   'n1_m', 'Model_m', 'Brandt_m']
In [184]:
pdtempj.head(2)
Out[184]:
n1_y Model_y Brandt_y 2014y3 2013y3 u1413y3 1413y3 2014m3 2013m3 u1413m3 1413m3 Datem n1_m Model_m Brandt_m
0 1 Granta Lada 166947 121151 45796 38% 12923 13153 (230) -2% 31-12-2013 1 Granta Lada
1 2 Solaris Hyundai 113991 110776 3215 3% 8824 7196 1628 23% 31-12-2013 2 Solaris Hyundai
In [185]:
pdall.head(2)
Out[185]:
n1_m Model_m Brandt_m 2014m3 2013m3 u1413m3 1413m3 n1_y Model_y Brandt_y 2014y3 2013y3 u1413y3 1413y3 Datem
0 1 Granta Lada 8255 10589 (2 334) -22% NaN NaN NaN NaN NaN NaN NaN 31-1-2014
1 2 Solaris Hyundai 6947 7353 (406) -6% NaN NaN NaN NaN NaN NaN NaN 31-1-2014
In [186]:
pdtempj = pdtempj[['n1_m',
 'Model_m',
 'Brandt_m',
 '2014m3',
 '2013m3',
 'u1413m3',
 '1413m3',
 'n1_y',
 'Model_y',
 'Brandt_y',
 '2014y3',
 '2013y3',
 'u1413y3',
 '1413y3',
 'Datem']]
In [187]:
pdtempj.head(2)
Out[187]:
n1_m Model_m Brandt_m 2014m3 2013m3 u1413m3 1413m3 n1_y Model_y Brandt_y 2014y3 2013y3 u1413y3 1413y3 Datem
0 1 Granta Lada 12923 13153 (230) -2% 1 Granta Lada 166947 121151 45796 38% 31-12-2013
1 2 Solaris Hyundai 8824 7196 1628 23% 2 Solaris Hyundai 113991 110776 3215 3% 31-12-2013
In [188]:
pdall = pd.concat([pdtempj, pdall], ignore_index=True)
In [189]:
pdall.to_csv((c_path +'pdall2014_12_2013.csv'), sep=';')
In [ ]:
# %load '/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv/3aug2/pdall2014_12_2013.csv'
;n1_m;Model_m;Brandt_m;2014m3;2013m3;u1413m3;1413m3;n1_y;Model_y;Brandt_y;2014y3;2013y3;u1413y3;1413y3;Datem
0;1;Granta;Lada;12923;13153.0;(230);-2%;1;Granta;Lada;166947;121151;45796;38%;31-12-2013
1;2;Solaris;Hyundai;8824;7196.0;1628;23%;2;Solaris;Hyundai;113991;110776;3215;3%;31-12-2013
2;3;New Rio;KIA;6917;5540.0;1377;25%;3;New Rio;KIA;89788;84730;5058;6%;31-12-2013
3;4;Duster;Renault;7976;6659.0;1317;20%;4;Duster;Renault;83702;47344;36358;77%;31-12-2013
4;5;Polo;VW;6649;5144.0;1505;29%;5;Polo;VW;72565;69385;3180;5%;31-12-2013
5;6;Kalina;Lada;8590;6095.0;2495;41%;6;Kalina;Lada;67960;119890;(51 930);-43%;31-12-2013
6;7;Focus;Ford;7590;9831.0;(2 241);-23%;7;Focus;Ford;67142;92219;(25 077);-27%;31-12-2013
7;8;Priora;Lada;5332;10429.0;(5 097);-49%;8;Priora;Lada;57687;125951;(68 264);-54%;31-12-2013
8;9;Largus;Lada;6280;2403.0;3877;161%;9;Largus;Lada;57641;14563;43078;296%;31-12-2013
9;10;Cruze;Chevrolet;4261;5182.0;(921);-18%;10;Cruze;Chevrolet;54367;63181;(8 814);-14%;31-12-2013
10;11;Niva;Chevrolet;6309;5381.0;928;17%;11;Niva;Chevrolet;53344;59331;(5 987);-10%;31-12-2013
11;12;4x4;Lada;2284;4727.0;(2 443);-52%;12;4x4;Lada;51693;54656;(2 963);-5%;31-12-2013
12;13;Logan;Renault;4137;3810.0;327;9%;13;Logan;Renault;50894;58734;(7 840);-13%;31-12-2013
13;14;Sandero;Renault;3895;4104.0;(209);-5%;14;Sandero;Renault;43737;48632;(4 895);-10%;31-12-2013
14;15;Astra;Opel;4860;3930.0;930;24%;15;Astra;Opel;42040;52331;(10 291);-20%;31-12-2013
15;16;Qashqai;Nissan;6435;2556.0;3879;152%;16;Qashqai;Nissan;40739;36793;3946;11%;31-12-2013
16;17;Samara;Lada;2409;5239.0;(2 830);-54%;17;Samara;Lada;40098;67971;(27 873);-41%;31-12-2013
17;18;RAV 4;Toyota;3568;2509.0;1059;42%;18;RAV 4;Toyota;39885;27166;12719;47%;31-12-2013
18;19;New Cee'd;KIA;3506;2512.0;994;40%;19;New Cee'd;KIA;34981;11429;23552;206%;31-12-2013
19;20;Sportage;KIA;3087;3523.0;(436);-12%;20;Sportage;KIA;33451;32716;735;2%;31-12-2013
20;21;Camry;Toyota;2783;3289.0;(506);-15%;21;Camry;Toyota;32895;34619;(1 724);-5%;31-12-2013
21;22;Octavia A5;Skoda;0;5090.0;(5 090);-100%;22;Octavia A5;Skoda;32153;52036;(19 883);-38%;31-12-2013
22;23;ix35;Hyundai;2524;3170.0;(646);-20%;23;ix35;Hyundai;31706;28104;3602;13%;31-12-2013
23;24;Corolla;Toyota;3297;2334.0;963;41%;24;Corolla;Toyota;30644;33262;(2 618);-8%;31-12-2013
24;25;Nexia;Daewoo;1920;5238.0;(3 318);-63%;25;Nexia;Daewoo;28898;55034;(26 136);-47%;31-12-2013
25;1;Granta;Lada;8255;10589.0;(2 334);-22%;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
26;2;Solaris;Hyundai;6947;7353.0;(406);-6%;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
27;3;Duster;Renault;5590;5374.0;216;4%;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
28;4;New Rio;KIA;5324;4744.0;580;12%;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
29;5;Kalina;Lada;4264;6016.0;(1 752);-29%;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
30;6;Polo;VW;3836;4631.0;(795);-17%;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
31;7;Largus;Lada;3792;2876.0;916;32%;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
32;8;Priora;Lada;3324;3674.0;(350);-10%;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
33;9;Logan;Renault;3004;3678.0;(674);-18%;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
34;10;Almera;Nissan;2993;0.0;2993;;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
35;11;Sandero;Renault;2795;3489.0;(694);-20%;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
36;12;Cruze;Chevrolet;2729;2467.0;262;11%;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
37;13;New X-Trail;Nissan;2687;1981.0;706;36%;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
38;14;Niva;Chevrolet;2622;3337.0;(715);-21%;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
39;15;Octavia A7;Skoda;2439;0.0;2439;;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
40;16;ix35;Hyundai;2345;2154.0;191;9%;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
41;17;4x4;Lada;2314;3442.0;(1 128);-33%;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
42;18;RAV 4;Toyota;2280;1098.0;1182;108%;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
43;19;New Cee'd;KIA;2265;1983.0;282;14%;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
44;20;Qashqai;Nissan;2152;2385.0;(233);-10%;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
45;21;Astra;Opel;2125;2442.0;(317);-13%;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
46;22;Gentra;Daewoo;2119;0.0;2119;;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
47;23;Focus;Ford;2027;4384.0;(2 357);-54%;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
48;24;Corolla;Toyota;1895;1242.0;653;53%;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
49;25;Sportage;KIA;1885;2452.0;(567);-23%;NaN;NaN;NaN;NaN;NaN;NaN;NaN;31-1-2014
50;1;Granta;Lada;11280;12207.0;(927);-8%;1;Granta;Lada;19535;22796.0;(3 261);-14%;28-2-2014
51;2;Solaris;Hyundai;8660;8425.0;235;3%;2;Solaris;Hyundai;15607;15778.0;(171);-1%;28-2-2014
52;3;Duster;Renault;7541;5964.0;1 577;26%;3;Duster;Renault;13131;11338.0;1793;16%;28-2-2014
53;4;New Rio;KIA;5874;6768.0;(894);-13%;4;New Rio;KIA;11198;11512.0;(314);-3%;28-2-2014
54;5;Kalina;Lada;6186;7151.0;(965);-13%;5;Kalina;Lada;10450;13167.0;(2 717);-21%;28-2-2014
55;6;Polo;VW;5105;5056.0;49;1%;6;Polo;VW;8941;9687.0;(746);-8%;28-2-2014
56;7;Largus;Lada;4792;3594.0;1 198;33%;7;Largus;Lada;8584;6470.0;2114;33%;28-2-2014
57;8;Almera;Nissan;4481;0.0;4 481;;8;Almera;Nissan;7474;0.0;7474;;28-2-2014
58;9;Priora;Lada;4090;6509.0;(2 419);-37%;9;Priora;Lada;7414;10183.0;(2 769);-27%;28-2-2014
59;10;Logan;Renault;3788;3723.0;65;2%;10;Logan;Renault;6792;7401.0;(609);-8%;28-2-2014
60;11;Sandero;Renault;3591;3220.0;371;12%;11;Sandero;Renault;6386;6709.0;(323);-5%;28-2-2014
61;12;Cruze;Chevrolet;3542;3735.0;(193);-5%;12;Cruze;Chevrolet;6271;6202.0;69;1%;28-2-2014
62;13;Niva;Chevrolet;3625;4274.0;(649);-15%;13;Niva;Chevrolet;6247;7611.0;(1 364);-18%;28-2-2014
63;14;X-Trail;Nissan;3229;2226.0;1 003;45%;14;X-Trail;Nissan;5916;4207.0;1709;41%;28-2-2014
64;15;Octavia A7;Skoda;3028;0.0;3 028;;15;Octavia A7;Skoda;5467;0.0;5467;;28-2-2014
65;16;4x4;Lada;3148;3553.0;(405);-11%;16;4x4;Lada;5462;6995.0;(1 533);-22%;28-2-2014
66;17;Focus;Ford;3416;4911.0;(1 495);-30%;17;Focus;Ford;5443;9295.0;(3 852);-41%;28-2-2014
67;18;Sportage;KIA;3388;2211.0;1 177;53%;18;Sportage;KIA;5273;4663.0;610;13%;28-2-2014
68;19;Astra;Opel;3071;3230.0;(159);-5%;19;Astra;Opel;5196;5672.0;(476);-8%;28-2-2014
69;20;ix35;Hyundai;2733;2455.0;278;11%;20;ix35;Hyundai;5078;4609.0;469;10%;28-2-2014
70;21;Qashqai;Nissan;2860;3704.0;(844);-23%;21;Qashqai;Nissan;5012;6089.0;(1 077);-18%;28-2-2014
71;22;RAV 4;Toyota;2537;1030.0;1 507;146%;22;RAV 4;Toyota;4817;2128.0;2689;126%;28-2-2014
72;23;Gentra;Daewoo;2450;0.0;2 450;;23;Gentra;Daewoo;4569;0.0;4569;;28-2-2014
73;24;Corolla;Toyota;2613;1614.0;999;62%;24;Corolla;Toyota;4508;2856.0;1652;58%;28-2-2014
74;25;Camry;Toyota;2870;2635.0;235;9%;25;Camry;Toyota;4399;4478.0;(79);-2%;28-2-2014
75;1;Granta;Lada;12958;14373.0;(1 415);-10%;1;Granta;Lada;32493;37169.0;(4 676);-13%;28-3-2014
76;2;Solaris;Hyundai;9837;9610.0;227;2%;2;Solaris;Hyundai;25444;25388.0;56;0%;28-3-2014
77;3;New Rio;KIA;9728;8269.0;1 459;18%;3;New Rio;KIA;20926;19781.0;1 145;6%;28-3-2014
78;4;Duster;Renault;7416;7007.0;409;6%;4;Duster;Renault;20547;18345.0;2 202;12%;28-3-2014
79;5;Kalina;Lada;7683;6371.0;1 312;21%;5;Kalina;Lada;18133;19538.0;(1 405);-7%;28-3-2014
80;6;Polo;VW;6461;5474.0;987;18%;6;Polo;VW;15402;15161.0;241;2%;28-3-2014
81;7;Largus;Lada;6018;3700.0;2 318;63%;7;Largus;Lada;14602;10170.0;4 432;44%;28-3-2014
82;8;Priora;Lada;5547;6350.0;(803);-13%;8;Priora;Lada;12961;16533.0;(3 572);-22%;28-3-2014
83;9;Almera;Nissan;3678;113.0;3 565;3155%;9;Almera;Nissan;11152;113.0;11 039;9769%;28-3-2014
84;10;Niva;Chevrolet;4304;4413.0;(109);-2%;10;Niva;Chevrolet;10551;12024.0;(1 473);-12%;28-3-2014
85;11;Logan;Renault;3754;4383.0;(629);-14%;11;Logan;Renault;10546;11784.0;(1 238);-11%;28-3-2014
86;12;Sandero;Renault;3595;3671.0;(76);-2%;12;Sandero;Renault;9981;10380.0;(399);-4%;28-3-2014
87;13;Octavia A7;Skoda;3951;;;;13;Octavia A7;Skoda;9418;;;;28-3-2014
88;14;Cruze;Chevrolet;3078;4079.0;(1 001);-25%;14;Cruze;Chevrolet;9349;10281.0;(932);-9%;28-3-2014
89;15;4x4;Lada;3685;3796.0;(111);-3%;15;4x4;Lada;9147;10791.0;(1 644);-15%;28-3-2014
90;16;ix35;Hyundai;3541;3019.0;522;17%;16;ix35;Hyundai;8619;7628.0;991;13%;28-3-2014
91;17;Focus;Ford;2931;7437.0;(4 506);-61%;17;Focus;Ford;8374;16732.0;(8 358);-50%;28-3-2014
92;18;RAV 4;Toyota;3293;4308.0;(1 015);-24%;18;RAV 4;Toyota;8110;6436.0;1 674;26%;28-3-2014
93;19;Corolla;Toyota;3503;2440.0;1 063;44%;19;Corolla;Toyota;8011;5296.0;2 715;51%;28-3-2014
94;20;Outlander;Mitsubishi;4584;2575.0;2 009;78%;20;Outlander;Mitsubishi;7921;5568.0;2 353;42%;28-3-2014
95;21;Astra;Opel;2656;3187.0;(531);-17%;21;Astra;Opel;7852;8859.0;(1 007);-11%;28-3-2014
96;22;X-Trail;Nissan;1825;2946.0;(1 121);-38%;22;X-Trail;Nissan;7741;7153.0;588;8%;28-3-2014
97;23;Sportage;KIA;2180;2838.0;(658);-23%;23;Sportage;KIA;7453;7501.0;(48);-1%;28-3-2014
98;24;Camry;Toyota;2952;2774.0;178;6%;24;Camry;Toyota;7351;7252.0;99;1%;28-3-2014
99;25;Qashqai;Nissan;1904;3510.0;(1 606);-46%;25;Qashqai;Nissan;6916;9599.0;(2 683);-28%;28-3-2014
100;1;Granta;Lada;13077;15596.0;(2,519);-16%;1;Granta;Lada;45570;52765.0;(7,195);-14%;30-4-2014
101;2;Solaris;Hyundai;9774;10553.0;(779);-7%;2;Solaris;Hyundai;35218;35941.0;(723);-2%;30-4-2014
102;3;New Rio;KIA;9045;8430.0;615;7%;3;New Rio;KIA;29971;28211.0;1,760;6%;30-4-2014
103;4;Duster;Renault;7606;7600.0;6;0%;4;Duster;Renault;28153;25945.0;2,208;9%;30-4-2014
104;5;Kalina;Lada;7731;8857.0;(1,126);-13%;5;Kalina;Lada;25864;28395.0;(2,531);-9%;30-4-2014
105;6;Polo;VW;5964;6637.0;(673);-10%;6;Polo;VW;21366;21798.0;(432);-2%;30-4-2014
106;7;Largus;Lada;5889;4209.0;1,680;40%;7;Largus;Lada;20491;14379.0;6,112;43%;30-4-2014
107;8;Priora;Lada;5212;4962.0;250;5%;8;Priora;Lada;18173;21495.0;(3,322);-15%;30-4-2014
108;9;Almera;Nissan;5798;483.0;5,315;1100%;9;Almera;Nissan;16950;596.0;16,354;2744%;30-4-2014
109;10;Niva;Chevrolet;4983;5724.0;(741);-13%;10;Niva;Chevrolet;15534;17748.0;(2,214);-12%;30-4-2014
110;11;Logan;Renault;3796;4890.0;(1,094);-22%;11;Logan;Renault;14342;16674.0;(2,332);-14%;30-4-2014
111;12;Sandero;Renault;3796;4084.0;(288);-7%;12;Sandero;Renault;13777;14464.0;(687);-5%;30-4-2014
112;13;Octavia A7;Škoda;3753;0.0;;;13;Octavia A7;Škoda;13171;0.0;;;30-4-2014
113;14;4x4;Lada;3784;3808.0;(24);-1%;14;4x4;Lada;12931;14599.0;(1,668);-11%;30-4-2014
114;15;RAV 4;Toyota;4391;4974.0;(583);-12%;15;RAV 4;Toyota;12501;11410.0;1,091;10%;30-4-2014
115;16;Cruze;Chevrolet;3014;4284.0;(1,270);-30%;16;Cruze;Chevrolet;12363;14565.0;(2,202);-15%;30-4-2014
116;17;ix35;Hyundai;3119;2030.0;1,089;54%;17;ix35;Hyundai;11738;9658.0;2,080;22%;30-4-2014
117;18;Focus;Ford;2549;5546.0;(2,997);-54%;18;Focus;Ford;10923;22278.0;(11,355);-51%;30-4-2014
118;19;Corolla;Toyota;2450;2418.0;32;1%;19;Corolla;Toyota;10461;7714.0;2,747;36%;30-4-2014
119;20;Camry;Toyota;2987;2822.0;165;6%;20;Camry;Toyota;10338;10074.0;264;3%;30-4-2014
120;21;Sportage;KIA;2526;2857.0;(331);-12%;21;Sportage;KIA;9979;10358.0;(379);-4%;30-4-2014
121;22;Astra;Opel;2049;3221.0;(1,172);-36%;22;Astra;Opel;9901;12080.0;(2,179);-18%;30-4-2014
122;23;Juke;Nissan;2837;1657.0;1,180;71%;23;Juke;Nissan;9589;7750.0;1,839;24%;30-4-2014
123;24;Outlander;Mitsubishi;1526;2447.0;(921);-38%;24;Outlander;Mitsubishi;9447;8015.0;1,432;18%;30-4-2014
124;25;X-Trail;Nissan;1436;1614.0;(178);-11%;25;X-Trail;Nissan;9177;8767.0;410;5%;30-4-2014
125;1;Lada;Granta;12947;14471.0;-1524.0;-11%;1;Lada;Granta;58517;67236.0;-8719.0;-13%;31-5-2014
126;2;Hyundai;Solaris;9791;10493.0;-702.0;-7%;2;Hyundai;Solaris;45009;46434.0;-1425.0;-3%;31-5-2014
127;3;KIA;New Rio;8513;7978.0;535.0;7%;3;KIA;New Rio;38484;36189.0;2295.0;6%;31-5-2014
128;4;Lada;Largus;7448;5289.0;2159.0;41%;4;Lada;Largus;27939;19668.0;8271.0;42%;31-5-2014
129;5;Renault;Duster;6835;7231.0;-396.0;-5%;5;Renault;Duster;34988;33176.0;1812.0;5%;31-5-2014
130;6;Lada;Kalina;5730;5778.0;-48.0;-1%;6;Lada;Kalina;31594;34173.0;-2579.0;-8%;31-5-2014
131;7;VW;Polo;5393;6155.0;-762.0;-12%;7;VW;Polo;26759;27953.0;-1194.0;-4%;31-5-2014
132;8;Renault;Logan;5130;4791.0;339.0;7%;8;Renault;Logan;19472;21465.0;-1993.0;-9%;31-5-2014
133;9;Nissan;Almera;4456;1163.0;3293.0;283%;9;Nissan;Almera;21406;1759.0;19647.0;1117%;31-5-2014
134;10;Nissan;Qashqai;4031;2297.0;1734.0;75%;10;Nissan;Qashqai;11168;13721.0;-2553.0;-19%;31-5-2014
135;11;Lada;Priora;3695;5377.0;-1682.0;-31%;11;Lada;Priora;21868;26872.0;-5004.0;-19%;31-5-2014
136;12;Toyota;RAV 4;3457;4503.0;-1046.0;-23%;12;Toyota;RAV 4;15958;15913.0;45.0;0%;31-5-2014
137;13;Lada;4x4;3286;3540.0;-254.0;-7%;13;Lada;4x4;16217;18139.0;-1922.0;-11%;31-5-2014
138;14;Hyundai;ix35;3172;2337.0;835.0;36%;14;Hyundai;ix35;14910;11995.0;2915.0;24%;31-5-2014
139;15;Škoda;Octavia A7;3167;;;;15;Škoda;Octavia A7;16338;;;;31-5-2014
140;16;Chevrolet;Niva;2658;3975.0;-1317.0;-33%;16;Chevrolet;Niva;18192;21723.0;-3531.0;-16%;31-5-2014
141;17;Toyota;Camry;2650;2737.0;-87.0;-3%;17;Toyota;Camry;12988;12811.0;177.0;1%;31-5-2014
142;18;Renault;Sandero;2537;4016.0;-1479.0;-37%;18;Renault;Sandero;16314;18480.0;-2166.0;-12%;31-5-2014
143;19;KIA;Sportage;2368;2890.0;-522.0;-18%;19;KIA;Sportage;12347;13248.0;-901.0;-7%;31-5-2014
144;20;Toyota;Corolla;2316;2289.0;27.0;1%;20;Toyota;Corolla;12777;10003.0;2774.0;28%;31-5-2014
145;21;Chevrolet;Cruze;2041;4202.0;-2161.0;-51%;21;Chevrolet;Cruze;14404;18767.0;-4363.0;-23%;31-5-2014
146;22;Ford;Focus;1904;5942.0;-4038.0;-68%;22;Ford;Focus;12827;28220.0;-15393.0;-55%;31-5-2014
147;23;Opel;Astra;1592;3116.0;-1524.0;-49%;23;Opel;Astra;11493;15196.0;-3703.0;-24%;31-5-2014
148;24;Mitsubishi;Outlander;1469;1812.0;-343.0;-19%;24;Mitsubishi;Outlander;10916;9827.0;1089.0;11%;31-5-2014
149;25;Nissan;Juke;1242;2111.0;-869.0;-41%;25;Nissan;Juke;10831;9861.0;970.0;10%;31-5-2014
150;1;Lada;Granta;12958;17009.0;(4,051);-24%;1;Lada;Granta;71475;84245.0;(12,770);-15%;30-6-2014
151;2;Hyundai;Solaris;10565;10575.0;(10);0%;2;Hyundai;Solaris;55574;57009.0;(1,435);-3%;30-6-2014
152;3;KIA;New Rio;8696;8047.0;649;8%;3;KIA;New Rio;47180;44236.0;2,944;7%;30-6-2014
153;4;Lada;Largus;6981;5034.0;1,947;39%;4;Lada;Largus;34920;24702.0;10,218;41%;30-6-2014
154;5;Renault;Duster;6079;7534.0;(1,455);-19%;5;Renault;Duster;41067;40710.0;357;1%;30-6-2014
155;6;VW;Polo;5378;6767.0;(1,389);-21%;6;VW;Polo;32137;34720.0;(2,583);-7%;30-6-2014
156;7;Renault;Logan;5233;4426.0;807;18%;7;Renault;Logan;24705;25891.0;(1,186);-5%;30-6-2014
157;8;Nissan;Qashqai;4188;2425.0;1,763;73%;8;Nissan;Qashqai;15356;16146.0;(790);-5%;30-6-2014
158;9;Lada;Kalina;3872;2908.0;964;33%;9;Lada;Kalina;35466;37081.0;(1,615);-4%;30-6-2014
159;10;Nissan;Almera;3733;1177.0;2,556;217%;10;Nissan;Almera;25139;2936.0;22,203;756%;30-6-2014
160;11;Toyota;Camry;3199;3447.0;(248);-7%;11;Toyota;Camry;16187;16258.0;(71);0%;30-6-2014
161;12;Hyundai;ix35;3177;3209.0;(32);-1%;12;Hyundai;ix35;18087;15204.0;2,883;19%;30-6-2014
162;13;Škoda;Octavia A7;3078;979.0;2,099;214%;13;Škoda;Octavia A7;19416;979.0;18,437;1883%;30-6-2014
163;14;Lada;Priora;2985;5009.0;(2,024);-40%;14;Lada;Priora;24853;31881.0;(7,028);-22%;30-6-2014
164;15;Toyota;RAV 4;2921;4002.0;(1,081);-27%;15;Toyota;RAV 4;18879;19915.0;(1,036);-5%;30-6-2014
165;16;KIA;New Cee'd;2810;2925.0;(115);-4%;16;KIA;New Cee'd;13236;15780.0;(2,544);-16%;30-6-2014
166;17;Renault;Sandero;2785;3758.0;(973);-26%;17;Renault;Sandero;19099;22238.0;(3,139);-14%;30-6-2014
167;18;Chevrolet;Niva;2660;4132.0;(1,472);-36%;18;Chevrolet;Niva;20852;25855.0;(5,003);-19%;30-6-2014
168;19;Lada;4x4;2459;3750.0;(1,291);-34%;19;Lada;4x4;18676;21889.0;(3,213);-15%;30-6-2014
169;20;Skoda;Rapid;2341;;;;20;Skoda;Rapid;4270;;;;30-6-2014
170;21;Toyota;Corolla;2214;2628.0;(414);-16%;21;Toyota;Corolla;14991;12631.0;2,360;19%;30-6-2014
171;22;Ford;Focus;2106;5944.0;(3,838);-65%;22;Ford;Focus;14933;34164.0;(19,231);-56%;30-6-2014
172;23;KIA;Sportage;2098;3107.0;(1,009);-32%;23;KIA;Sportage;14445;16355.0;(1,910);-12%;30-6-2014
173;24;Mazda;CX-5;2063;1656.0;407;25%;24;Mazda;CX-5;14450;8164.0;6,286;77%;30-6-2014
174;25;VW;Jetta;2038;1792.0;246;14%;25;VW;Jetta;10932;10636.0;296;3%;30-6-2014
175;1;Granta;Lada;11819;14542.0;NaN;(2,723);1;Granta;Lada;83294;98787.0;NaN;(15,493);31-7-2014
176;2;Solaris;Hyundai;9778;9482.0;NaN;296;2;Solaris;Hyundai;65352;66491.0;NaN;(1,139);31-7-2014
177;3;New Rio;KIA;6853;7651.0;NaN;(798);3;New Rio;KIA;54033;51887.0;NaN;2,146;31-7-2014
178;4;Duster;Renault;5694;7348.0;NaN;(1,654);4;Duster;Renault;46761;48058.0;NaN;(1,297);31-7-2014
179;5;Logan;Renault;5630;4289.0;NaN;1,341;5;Kalina;Lada;39902;40870.0;NaN;(968);31-7-2014
180;6;Largus;Lada;4798;4867.0;NaN;(69);6;Largus;Lada;39718;29569.0;NaN;10,149;31-7-2014
181;7;Kalina;Lada;4436;3789.0;NaN;647;7;Polo;VW;36526;41720.0;NaN;(5,194);31-7-2014
182;8;Polo;VW;4389;7000.0;NaN;(2,611);8;Logan;Renault;30335;30180.0;NaN;155;31-7-2014
183;9;Priora;Lada;3429;4882.0;NaN;(1,453);9;Priora;Lada;28282;36763.0;NaN;(8,481);31-7-2014
184;10;Camry;Toyota;3122;4207.0;NaN;(1,085);10;Almera;Nissan;27335;4484.0;NaN;22,851;31-7-2014
185;11;New Cee'd;KIA;2857;2955.0;NaN;(98);11;Niva;Chevrolet;23544;29816.0;NaN;(6,272);31-7-2014
186;12;Niva;Chevrolet;2692;3961.0;NaN;(1,269);12;Octavia A7;Skoda;22051;1757.0;NaN;20,294;31-7-2014
187;13;Octavia A7;Skoda;2635;778.0;NaN;1,857;13;Sandero;Renault;21413;26044.0;NaN;(4,631);31-7-2014
188;14;4x4;Lada;2605;3431.0;NaN;(826);14;RAV 4;Toyota;21368;23389.0;NaN;(2,021);31-7-2014
189;15;Corolla;Toyota;2582;1812.0;NaN;770;15;4x4;Lada;21281;25320.0;NaN;(4,039);31-7-2014
190;16;Rapid;Skoda;2578;0.0;NaN;;16;ix35;Hyundai;20325;18063.0;NaN;2,262;31-7-2014
191;17;RAV 4;Toyota;2489;3474.0;NaN;(985);17;Camry;Toyota;19309;20465.0;NaN;(1,156);31-7-2014
192;18;Cruze;Chevrolet;2488;6644.0;NaN;(4,156);18;Cruze;Chevrolet;18769;31296.0;NaN;(12,527);31-7-2014
193;19;Sandero;Renault;2314;3806.0;NaN;(1,492);19;Corolla;Toyota;17573;14443.0;NaN;3,130;31-7-2014
194;20;ix35;Hyundai;2238;2859.0;NaN;(621);20;Qashqai;Nissan;17373;19388.0;NaN;(2,015);31-7-2014
195;21;Almera;Nissan;2196;1548.0;NaN;648;21;Focus;Ford;16989;39913.0;NaN;(22,924);31-7-2014
196;22;Sportage;KIA;2060;2675.0;NaN;(615);22;Sportage;KIA;16505;19030.0;NaN;(2,525);31-7-2014
197;23;Focus;Ford;2056;5749.0;NaN;(3,693);23;New Cee'd;KIA;16093;18735.0;NaN;(2,642);31-7-2014
198;24;Qashqai;Nissan;2017;3242.0;NaN;(1,225);24;Astra;Opel;15019;22532.0;NaN;(7,513);31-7-2014
199;25;Mokka;Opel;1938;490.0;NaN;1,448;25;Outlander;Mitsubishi;13545;13079.0;NaN;466;31-7-2014
200;1;Granta;Lada;11860;14951.0;NaN;(3,091);1;Granta;Lada;95154;113738.0;NaN;(18,584);31-8-2014
201;2;Solaris;Hyundai;9086;8590.0;NaN;496;2;Solaris;Hyundai;74438;75081.0;NaN;(643);31-8-2014
202;3;New Rio;KIA;5999;7159.0;NaN;(1,160);3;New Rio;KIA;60032;59046.0;NaN;986;31-8-2014
203;4;Logan;Renault;4390;4012.0;NaN;378;4;Duster;Renault;51137;53611.0;NaN;(2,474);31-8-2014
204;5;Duster;Renault;4376;5553.0;NaN;(1,177);5;Kalina;Lada;44175;43767.0;NaN;408;31-8-2014
205;6;Kalina;Lada;4273;2897.0;NaN;1,376;6;Largus;Lada;43272;35083.0;NaN;8,189;31-8-2014
206;7;Polo;VW;3979;5488.0;NaN;(1,509);7;Polo;VW;40505;47208.0;NaN;(6,703);31-8-2014
207;8;Almera;Nissan;3822;1370.0;NaN;2,452;8;Logan;Renault;34725;34192.0;NaN;533;31-8-2014
208;9;Largus;Lada;3554;5514.0;NaN;(1,960);9;Priora;Lada;31636;41440.0;NaN;(9,804);31-8-2014
209;10;Priora;Lada;3354;4677.0;NaN;(1,323);10;Almera;Nissan;31157;5854.0;NaN;25,303;31-8-2014
210;11;Camry;Toyota;2729;2767.0;NaN;(38);11;Niva;Chevrolet;26106;34062.0;NaN;(7,956);31-8-2014
211;12;4x4;Lada;2716;5885.0;NaN;(3,169);12;Octavia A7;Skoda;24714;2679.0;NaN;22,035;31-8-2014
212;13;RAV 4;Toyota;2709;3542.0;NaN;(833);13;RAV 4;Toyota;24077;26931.0;NaN;(2,854);31-8-2014
213;14;Octavia A7;Skoda;2663;922.0;NaN;1,741;14;4x4;Lada;23997;31205.0;NaN;(7,208);31-8-2014
214;15;Niva;Chevrolet;2562;4246.0;NaN;(1,684);15;Sandero;Renault;23865;28946.0;NaN;(5,081);31-8-2014
215;16;Qashqai;Nissan;2537;3289.0;NaN;(752);16;ix35;Hyundai;22602;20883.0;NaN;1,719;31-8-2014
216;17;New Cee'd;KIA;2536;2905.0;NaN;(369);17;Camry;Toyota;22038;23232.0;NaN;(1,194);31-8-2014
217;18;Sandero;Renault;2452;2902.0;NaN;(450);18;Cruze;Chevrolet;20808;37590.0;NaN;(16,782);31-8-2014
218;19;Rapid;Skoda;2430;0.0;NaN;2,430;19;Qashqai;Nissan;19910;22937.0;NaN;(3,027);31-8-2014
219;20;ix35;Hyundai;2277;2820.0;NaN;(543);20;Corolla;Toyota;19831;17265.0;NaN;2,566;31-8-2014
220;21;Corolla;Toyota;2258;2822.0;NaN;(564);21;Focus;Ford;18661;45750.0;NaN;(27,089);31-8-2014
221;22;Cruze;Chevrolet;2039;6294.0;NaN;(4,255);22;New Cee'd;KIA;18629;21640.0;NaN;(3,011);31-8-2014
222;23;Sportage;KIA;2022;2801.0;NaN;(779);23;Sportage;KIA;18527;21831.0;NaN;(3,304);31-8-2014
223;24;Patriot;UAZ;1963;1427.0;NaN;536;24;Astra;Opel;16539;26346.0;NaN;(9,807);31-8-2014
224;25;CX-5;Mazda;1790;1789.0;NaN;1;25;CX-5;Mazda;15047;11575.0;NaN;3,472;31-8-2014
225;1;Granta;Lada;16924;14743.0;NaN;2,181;1;Granta;Lada;112078;128481.0;NaN;(16,403);30-9-2014
226;2;Solaris;Hyundai;10001;10676.0;NaN;(675);2;Solaris;Hyundai;84439;85757.0;NaN;(1,318);30-9-2014
227;3;New Rio;KIA;6384;8632.0;NaN;(2,248);3;New Rio;KIA;66416;67678.0;NaN;(1,262);30-9-2014
228;4;Kalina;Lada;5705;5305.0;NaN;400;4;Duster;Renault;56789;60426.0;NaN;(3,637);30-9-2014
229;5;Duster;Renault;5652;6815.0;NaN;(1,163);5;Kalina;Lada;49880;49072.0;NaN;808;30-9-2014
230;6;Logan;Renault;5640;4149.0;NaN;1,491;6;Largus;Lada;47529;40402.0;NaN;7,127;30-9-2014
231;7;4x4;Lada;5387;6895.0;NaN;(1,508);7;Polo;VW;44558;53368.0;NaN;(8,810);30-9-2014
232;8;Largus;Lada;4257;5319.0;NaN;(1,062);8;Logan;Renault;40365;38341.0;NaN;2,024;30-9-2014
233;9;Polo;VW;4053;6160.0;NaN;(2,107);9;Priora;Lada;35192;44602.0;NaN;(9,410);30-9-2014
234;10;Priora;Lada;3556;3162.0;NaN;394;10;Almera;Nissan;33942;7846.0;NaN;26,096;30-9-2014
235;11;Sandero;Renault;2863;3544.0;NaN;(681);11;4x4;Lada;29384;38100.0;NaN;(8,716);30-9-2014
236;12;Outlander;Mitsubishi;2822;2303.0;NaN;519;12;Niva;Chevrolet;28875;38574.0;NaN;(9,699);30-9-2014
237;13;Almera;Nissan;2785;1992.0;NaN;793;13;Octavia A7;Skoda;27344;4429.0;NaN;22,915;30-9-2014
238;14;New Cee'd;KIA;2783;2845.0;NaN;(62);14;RAV 4;Toyota;26746;29981.0;NaN;(3,235);30-9-2014
239;15;Niva;Chevrolet;2769;4512.0;NaN;(1,743);15;Sandero;Renault;26728;32490.0;NaN;(5,762);30-9-2014
240;16;ix35;Hyundai;2728;3371.0;NaN;(643);16;ix35;Hyundai;25330;24254.0;NaN;1,076;30-9-2014
241;17;Rapid;Skoda;2690;0.0;NaN;2,690;17;Camry;Toyota;24708;26092.0;NaN;(1,384);30-9-2014
242;18;Camry;Toyota;2670;2860.0;NaN;(190);18;Cruze;Chevrolet;22896;42660.0;NaN;(19,764);30-9-2014
243;19;RAV 4;Toyota;2669;3050.0;NaN;(381);19;Qashqai;Nissan;22388;26744.0;NaN;(4,356);30-9-2014
244;20;Octavia A7;Skoda;2630;1750.0;NaN;880;20;Corolla;Toyota;22000;20820.0;NaN;1,180;30-9-2014
245;21;X-Trail;Nissan;2494;3222.0;NaN;(728);21;New Cee'd;KIA;21412;24485.0;NaN;(3,073);30-9-2014
246;22;Qashqai;Nissan;2478;3807.0;NaN;(1,329);22;Focus;Ford;20689;50406.0;NaN;(29,717);30-9-2014
247;23;Mokka;Opel;2219;948.0;NaN;1,271;23;Sportage;KIA;20582;24464.0;NaN;(3,882);30-9-2014
248;24;Corolla;Toyota;2169;3555.0;NaN;(1,386);24;Astra;Opel;18014;30157.0;NaN;(12,143);30-9-2014
249;25;Cruze;Chevrolet;2088;5070.0;NaN;(2,982);25;Outlander;Mitsubishi;17574;17451.0;NaN;123;30-9-2014
250;1;Granta;Lada;16807;13357.0;NaN;3,450;1;Granta;Lada;128885;141838.0;NaN;(12,953);31-10-2014
251;2;Solaris;Hyundai;10569;9738.0;NaN;831;2;Solaris;Hyundai;95008;95495.0;NaN;(487);31-10-2014
252;3;New Rio;KIA;7100;8155.0;NaN;(1,055);3;New Rio;KIA;73516;75833.0;NaN;(2,317);31-10-2014
253;4;Largus;Lada;6561;5765.0;NaN;796;4;Duster;Renault;62567;68163.0;NaN;(5,596);31-10-2014
254;5;Logan;Renault;6556;4380.0;NaN;2,176;5;Kalina;Lada;54684;53532.0;NaN;1,152;31-10-2014
255;6;Duster;Renault;5778;7737.0;NaN;(1,959);6;Largus;Lada;54090;46167.0;NaN;7,923;31-10-2014
256;7;4x4;Lada;5158;5330.0;NaN;(172);7;Polo;VW;48425;59677.0;NaN;(11,252);31-10-2014
257;8;Almera;Nissan;4817;2337.0;NaN;2,480;8;Logan;Renault;46921;42721.0;NaN;4,200;31-10-2014
258;9;Kalina;Lada;4804;4460.0;NaN;344;9;Almera;Nissan;38759;10183.0;NaN;28,576;31-10-2014
259;10;Polo;VW;3867;6309.0;NaN;(2,442);10;Priora;Lada;38643;48497.0;NaN;(9,854);31-10-2014
260;11;Niva;Chevrolet;3741;4490.0;NaN;(749);11;4x4;Lada;34542;43430.0;NaN;(8,888);31-10-2014
261;12;Priora;Lada;3451;3895.0;NaN;(444);12;Niva;Chevrolet;32616;43064.0;NaN;(10,448);31-10-2014
262;14;Sportage;KIA;3319;2693.0;NaN;626;14;Sandero;Renault;29885;36106.0;NaN;(6,221);31-10-2014
263;15;Outlander;Mitsubishi;3283;3010.0;NaN;273;15;RAV 4;Toyota;29345;33136.0;NaN;(3,791);31-10-2014
264;17;Sandero;Renault;3157;3616.0;NaN;(459);17;Camry;Toyota;27577;28027.0;NaN;(450);31-10-2014
265;18;Rapid;Skoda;3099;0.0;NaN;3,099;18;Cruze;Chevrolet;24930;46468.0;NaN;(21,538);31-10-2014
266;21;ix35;Hyundai;2698;2668.0;NaN;30;21;Sportage;KIA;23901;27157.0;NaN;(3,256);31-10-2014
267;22;RAV 4;Toyota;2599;3155.0;NaN;(556);22;Corolla;Toyota;23782;24355.0;NaN;(573);31-10-2014
268;23;Tiguan;VW;2560;1989.0;NaN;571;23;Focus;Ford;22526;54713.0;NaN;(32,187);31-10-2014
269;24;CX-5;Mazda;2124;1977.0;NaN;147;24;Outlander;Mitsubishi;20857;20461.0;NaN;396;31-10-2014
270;25;Cruze;Chevrolet;2034;3808.0;NaN;(1,774);25;Astra;Opel;19623;33995.0;NaN;(14,372);31-10-2014
271;1;New Rio;KIA;10834;7038.0;NaN;3796;1;Granta;Lada;139405;154028.0;NaN;(14623);30-11-2014
272;2;Granta;Lada;10520;12190.0;NaN;(1670);2;Solaris;Hyundai;105142;105167.0;NaN;(25);30-11-2014
273;3;Solaris;Hyundai;10134;9672.0;NaN;462;3;New Rio;KIA;84350;82871.0;NaN;1479;30-11-2014
274;4;Logan;Renault;7152;4036.0;NaN;3116;4;Duster;Renault;69576;75726.0;NaN;(6150);30-11-2014
275;5;Duster;Renault;7009;7563.0;NaN;(554);5;Largus;Lada;60401;51361.0;NaN;9040;30-11-2014
276;6;Largus;Lada;6311;5194.0;NaN;1117;6;Kalina;Lada;59403;59370.0;NaN;33;30-11-2014
277;7;RAV 4;Toyota;4769;3181.0;NaN;1588;7;Logan;Renault;54073;46757.0;NaN;7316;30-11-2014
278;8;Kalina;Lada;4719;5838.0;NaN;(1119);8;Polo;VW;52523;65916.0;NaN;(13393);30-11-2014
279;9;Niva;Chevrolet;4336;3971.0;NaN;365;9;Priora;Lada;42614;52351.0;NaN;(9737);30-11-2014
280;10;Polo;VW;4098;6239.0;NaN;(2141);10;Almera;Nissan;42220;12676.0;NaN;29544;30-11-2014
281;11;on-DO;Datsun;4011;0.0;NaN;4011;11;4x4;Lada;38415;49409.0;NaN;(10994);30-11-2014
282;12;Priora;Lada;3971;3854.0;NaN;117;12;Niva;Chevrolet;36952;47035.0;NaN;(10083);30-11-2014
283;13;4x4;Lada;3873;5979.0;NaN;(2106);13;RAV 4;Toyota;34114;36317.0;NaN;(2203);30-11-2014
284;14;Outlander;Mitsubishi;3731;3131.0;NaN;600;14;Sandero;Renault;33269;39842.0;NaN;(6573);30-11-2014
285;15;X-Trail;Nissan;3579;3181.0;NaN;398;15;Octavia A7;Skoda;33051;9630.0;NaN;23421;30-11-2014
286;16;Almera;Nissan;3461;2493.0;NaN;968;16;ix35;Hyundai;31363;29182.0;NaN;2181;30-11-2014
287;17;Sandero;Renault;3384;3736.0;NaN;(352);17;Camry;Toyota;29941;30112.0;NaN;(171);30-11-2014
288;18;Sportage;KIA;3345;3207.0;NaN;138;18;Qashqai;Nissan;27323;34304.0;NaN;(6981);30-11-2014
289;19;ix35;Hyundai;3335;2260.0;NaN;1075;19;Sportage;KIA;27246;30364.0;NaN;(3118);30-11-2014
290;20;Qashqai;Nissan;3123;4397.0;NaN;(1274);20;Cruze;Chevrolet;27241;50106.0;NaN;(22865);30-11-2014
291;21;Octavia;Skoda;2885;3107.0;NaN;(222);21;New Cee'd;KIA;27206;31475.0;NaN;(4269);30-11-2014
292;22;Tiguan;VW;2854;1988.0;NaN;866;22;Corolla;Toyota;25612;27347.0;NaN;(1735);30-11-2014
293;23;Rapid;Skoda;2777;0.0;NaN;2777;23;Outlander;Mitsubishi;24588;23592.0;NaN;996;30-11-2014
294;24;Jetta;VW;2543;1432.0;NaN;1111;24;Focus;Ford;24104;59552.0;NaN;(35448);30-11-2014
295;25;New;KIA;2542;3833.0;NaN;(1291);25;X-Trail;Nissan;22251;24021.0;NaN;(1770);30-11-2014
296;1;Granta;Lada;13405;12923.0;NaN;482;1;Granta;Lada;152810;166951.0;NaN;(14,141);31-12-2014
297;2;Solaris;Hyundai;9502;8824.0;NaN;678;2;Solaris;Hyundai;114644;113991.0;NaN;653;31-12-2014
298;3;New Rio;KIA;9298;6917.0;NaN;2,381;3;New Rio;KIA;93648;89788.0;NaN;3,860;31-12-2014
299;4;Duster;Renault;6562;7976.0;NaN;(1,414);4;Duster;Renault;76138;83702.0;NaN;(7,564);31-12-2014
300;5;Niva;Chevrolet;6489;6309.0;NaN;180;5;Kalina;Lada;65609;67960.0;NaN;(2,351);31-12-2014
301;6;Polo;VW;6430;6649.0;NaN;(219);6;Largus;Lada;65156;57641.0;NaN;7,515;31-12-2014
302;7;Logan;Renault;6361;4137.0;NaN;2,224;7;Logan;Renault;60434;50894.0;NaN;9,540;31-12-2014
303;8;Kalina;Lada;6206;8590.0;NaN;(2,384);8;Polo;VW;58953;72565.0;NaN;(13,612);31-12-2014
304;9;Priora;Lada;5204;5332.0;NaN;(128);9;Priora;Lada;47818;57683.0;NaN;(9,865);31-12-2014
305;10;on-DO;Datsun;5104;0.0;NaN;5,104;10;Almera;Nissan;46225;15704.0;NaN;30,521;31-12-2014
306;11;RAV 4;Toyota;4805;3568.0;NaN;1,237;11;Niva;Chevrolet;43441;53344.0;NaN;(9,903);31-12-2014
307;12;Largus;Lada;4755;6280.0;NaN;(1,525);12;4x4;Lada;42932;51693.0;NaN;(8,761);31-12-2014
308;13;4x4;Lada;4517;2284.0;NaN;2,233;13;RAV 4;Toyota;38919;39885.0;NaN;(966);31-12-2014
309;14;Qashqai;Nissan;4387;6435.0;NaN;(2,048);14;Sandero;Renault;36849;43737.0;NaN;(6,888);31-12-2014
310;15;Outlander;Mitsubishi;4381;2950.0;NaN;1,431;15;Octavia A7;Skoda;35292;13663.0;NaN;21,629;31-12-2014
311;16;Camry;Toyota;4176;2783.0;NaN;1,393;16;ix35;Hyundai;34814;31706.0;NaN;3,108;31-12-2014
312;17;Almera;Nissan;4005;3028.0;NaN;977;17;Camry;Toyota;34117;32895.0;NaN;1,222;31-12-2014
313;18;Focus;Ford;3756;7590.0;NaN;(3,834);18;Qashqai;Nissan;31710;40739.0;NaN;(9,029);31-12-2014
314;19;Jetta;VW;3745;1532.0;NaN;2,213;19;Sportage;KIA;30606;33451.0;NaN;(2,845);31-12-2014
315;20;ASX;Mitsubishi;3727;3451.0;NaN;276;20;New Cee'd;KIA;29758;34981.0;NaN;(5,223);31-12-2014
316;21;Sandero;Renault;3580;3895.0;NaN;(315);21;Cruze;Chevrolet;29640;54367.0;NaN;(24,727);31-12-2014
317;22;ix35;Hyundai;3451;2524.0;NaN;927;22;Outlander;Mitsubishi;28969;26542.0;NaN;2,427;31-12-2014
318;23;Sportage;KIA;3360;3087.0;NaN;273;23;Focus;Ford;27860;67142.0;NaN;(39,282);31-12-2014
319;24;CX-5;Mazda;3281;2196.0;NaN;1,085;24;Corolla;Toyota;27704;30644.0;NaN;(2,940);31-12-2014
320;25;Mokka;Opel;3121;1260.0;NaN;1,861;25;CX-5;Mazda;24953;19725.0;NaN;5,228;31-12-2014
In [192]:
!ls /media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv/3aug2/
eng_car-sales-in-april-2014.csv   eng_car-sales-in-september-2014.csv
eng_car-sales-in-april-2014.csvpdall2014_9.csv pdall2014_12_2013.csv
eng_car-sales-in-august-2014.csv  pdall2014_12.csv
eng_car-sales-in-december-2014.csv  pdall2014_9.csv
eng_car-sales-in-july-2014.csv   sales-in-december_2013_eng_final.csv
eng_car-sales-in-june-2014.csv   sales-in-february_2014_eng_final.csv
eng_car-sales-in-may-2014.csv   sales-in-january_2014_eng_final_1.csv
eng_car-sales-in-november-2014.csv  sales-in-march_2014_eng_final.csv
eng_car-sales-in-october-2014.csv


Посты чуть ниже также могут вас заинтересовать

Комментариев нет:

Отправить комментарий