In [2]:
import collections
import csv
import itertools
import json
import pandas as pd

Join duplicate Part Numbers and write to file


In [3]:
pn_and_qty_with_duplicates = pd.read_csv('data/PN_and_QTY_with_duplicates.csv')

In [10]:
pn_and_qty_no_duplicates = dict([(key, 0) for key in pn_and_qty['PN']])
pns = pn_and_qty['PN']
qtys = pn_and_qty['QTY']
for pn, qty in itertools.izip(pns, qtys):
    pn_and_qty_no_duplicates[pn] += qty

In [13]:
with open('data/PN_and_QTY.csv', 'wb') as f:
    w = csv.DictWriter(f, ['PN', 'QTY'])
    w.writeheader()
    w.writerows([{'PN': key, 'QTY': val} 
                 for key, val in pn_and_qty_no_duplicates.items()])

Import and prepare Part Numbers data


In [4]:
pn_and_qty = pd.read_csv(r'data/PN_and_QTY.csv')

Import and prepare data from 1C


In [5]:
data_from_1c = pd.read_csv(r'data/WOSS.csv')
data_from_1c.columns = ['Part no.'] + list(data_from_1c.columns[1:])
data_from_1c.columns


Out[5]:
Index([u'Part no.', u'Serial no.', u'Part description', u'Segment', u'PO no.',
       u'PO date', u'PO line', u'PO qty', u'Invoice no.', u'Invoice value',
       u'Invoice qty', u'AU', u'AC', u'DOC', u'Point of departure',
       u'Requested point of arrival', u'Mode of transportation',
       u'DOC comment', u'DOC date', u'Green light requested',
       u'Green light received', u'Green light granted',
       u'Actual point of arrival', u'Waybills', u'Shipment comment',
       u'Pre alert', u'Estimated time of departure',
       u'Actual time of departure', u'Estimated time of arrival',
       u'Actual time of arrival', u'Dox received', u'In customs', u'Cleared',
       u'Customs file no.', u'Collected from port', u'Delivered to WH',
       u'Local distribution ETD', u'Local distribution ATD',
       u'Local distribution ETA', u'Local distribution ATA'],
      dtype='object')

In [54]:
data_from_1c = data_from_1c[[u'Part no.', u'Part description', u'PO no.', u'PO date', u'PO qty', 
                            u'Customs file no.', u'Collected from port']]
data_from_1c[u'Collected from port'] = pd.to_datetime(data_from_1c[u'Collected from port'], dayfirst=True)
data_from_1c['PO qty'] = pd.to_numeric(data_from_1c[u'PO qty'], errors='coerce')
data_from_1c = data_from_1c.dropna(subset=[u'Collected from port', u'PO qty'])

data_from_1c.sort_values(by=[u'Collected from port'], ascending=False, inplace=True)
data_from_1c.columns


Out[54]:
Index([u'Part no.', u'Part description', u'PO no.', u'PO date', u'PO qty',
       u'Customs file no.', u'Collected from port'],
      dtype='object')

Import and prepare data from Store


In [9]:
data_from_store = pd.read_csv(r'data/STORE_01012014-30062014.csv', low_memory=False)
data_from_store.columns


Out[9]:
Index([u'Part Number', u'Part Location', u'Transaction Id', u'Product Id',
       u'Source Store Id', u'Source Accounting Unit Id',
       u'Source Accounting Unit Name', u'Destination Accountint Unit Id',
       u'Destination Accounting Unit Name', u'Balance Qty To Be Received',
       u'Created Date', u'Extended Value', u'IMCS Classified',
       u'Last Purchased Price', u'Last Purchased Price Unit',
       u'Last Updated Date', u'Line Number', u'Line Number ERP',
       u'Source Location Id', u'Source Location', u'Destination Location Id',
       u'Destination Location', u'Part Type', u'Product',
       u'Product Description', u'Quantity Txn Part', u'Serialized Product',
       u'Sub Sub Segment Part Id', u'Destination Store Id',
       u'Sub Sub Segment Part Name', u'SWPS PO Number', u'SWPS PO Line Number',
       u'To Date Goods Received Qty', u'Transaction Primary Id', u'Txn Commit',
       u'Vendor Part Description', u'Vendor PN', u'Integration Code Product',
       u'Integration Message Product', u'Comment Part in Transaction',
       u'Lawson Reference UOM Id', u'Reference Quantity Product',
       u'Source Store Name', u'Destination Store Name', u'TransactionTypeName',
       u'Transaction Sub Type Name', u'Transaction Status Name',
       u'Transaction Status Id', u'RejectionReason', u'Transaction UOM',
       u'Authorization #', u'Reception Date', u'Destination Store Type',
       u'Source Store Type', u'Well'],
      dtype='object')

In [10]:
data_from_store = data_from_store[[u'Part Number', u'Transaction Id', u'Last Updated Date', u'Quantity Txn Part',
                                   u'Transaction Status Name']]
data_from_store = data_from_store[data_from_store[u'Transaction Status Name'] == 'Closed']
data_from_store[u'Last Updated Date'] = pd.to_datetime(data_from_store[u'Last Updated Date'])
data_from_store.sort_values(by=[u'Last Updated Date'], ascending=False, inplace=True)
data_from_store.columns


Out[10]:
Index([u'Part Number', u'Transaction Id', u'Last Updated Date',
       u'Quantity Txn Part', u'Transaction Status Name'],
      dtype='object')

In [ ]:

Process all Part Numbers and their quantities


In [13]:
pn_qty = {pn: {'QTY': qty} for pn, qty in itertools.izip(pn_and_qty['PN'], pn_and_qty['QTY'])}

In [64]:
pns = data_from_store[u'Part Number']
pn1c = data_from_1c[u'Part no.']

In [55]:
for pn, table in pn_qty.iteritems():
    pn_qty[pn]['storeinfo'] = data_from_store[0:0]
    pn_qty[pn]['1cstoreinfo'] = data_from_1c[0:0]
    pn_qty[pn]['1cinfo'] = data_from_1c[0:0]
    qty_left_store = qty_left_1c = table['QTY']
    table_store = data_from_store[data_from_store[u'Part Number'] == pn]
    table_1c = data_from_1c[data_from_1c[u'Part no.'] == pn]
    while qty_left_store > 0 and not table_store.empty:
        pn_qty[pn]['storeinfo'].append(table_store.iloc[0], ignore_index=True)
        qty_left_1c_store = table_store.iloc[0].at[u'Quantity Txn Part']
        qty_left_store -= qty_left_1c_store
        store_time = table_store.iloc[0].at[u'Last Updated Date']
        table_1c_store = table_1c[table_1c[u'Collected from port'] < store_time]
        while qty_left_1c_store > 0 and not table_1c_store.empty:
            pn_qty[pn]['1cstoreinfo'].append(table_1c_store.iloc[0], ignore_index=True)
            qty_recorded_in_1c_and_store = table_1c_store.iloc[0].at[u'PO qty']
            qty_left_1c -= qty_recorded_in_1c_and_store
            qty_left_1c_store -= qty_recorded_in_1c_and_store
            table_1c_store = table_1c_store[1:]
#     mask = [row in pn_qty[pn]['1cstoreinfo']]
#     table_1c = table_1c.where(table_1c not in pn_qty[pn]['1cstoreinfo'])
# #     while qty_left_1c > 0 and ta


---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-55-0ffc08bf8e4c> in <module>()
      7     table_1c = data_from_1c[data_from_1c[u'Part no.'] == pn]
      8     while qty_left_store > 0 and not table_store.empty:
----> 9         pn_qty[pn]['storeinfo'].append(table_store.iloc[0], ignore_index=True)
     10         qty_left_1c_store = table_store.iloc[0].at[u'Quantity Txn Part']
     11         qty_left_store -= qty_left_1c_store

C:\Users\aevseev\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\core\frame.pyc in append(self, other, ignore_index, verify_integrity)
   4229             to_concat = [self, other]
   4230         return concat(to_concat, ignore_index=ignore_index,
-> 4231                       verify_integrity=verify_integrity)
   4232 
   4233     def join(self, other, on=None, how='left', lsuffix='', rsuffix='',

C:\Users\aevseev\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\tools\merge.pyc in concat(objs, axis, join, join_axes, ignore_index, keys, levels, names, verify_integrity, copy)
    810                        keys=keys, levels=levels, names=names,
    811                        verify_integrity=verify_integrity,
--> 812                        copy=copy)
    813     return op.get_result()
    814 

C:\Users\aevseev\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\tools\merge.pyc in __init__(self, objs, axis, join, join_axes, keys, levels, names, ignore_index, verify_integrity, copy)
    886             # filter out the empties
    887             # if we have not multi-index possibiltes
--> 888             df = DataFrame([ obj.shape for obj in objs ]).sum(1)
    889             non_empties = df[df!=0]
    890             if len(non_empties) and (keys is None and names is None and levels is None and join_axes is None):

C:\Users\aevseev\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\core\frame.pyc in __init__(self, data, index, columns, dtype, copy)
    276 
    277                     mgr = _arrays_to_mgr(arrays, columns, index, columns,
--> 278                                          dtype=dtype)
    279                 else:
    280                     mgr = self._init_ndarray(data, index, columns, dtype=dtype,

C:\Users\aevseev\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\core\frame.pyc in _arrays_to_mgr(arrays, arr_names, index, columns, dtype)
   5161 
   5162     # don't force copy because getting jammed in an ndarray anyway
-> 5163     arrays = _homogenize(arrays, index, dtype)
   5164 
   5165     # from BlockManager perspective

C:\Users\aevseev\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\core\frame.pyc in _homogenize(data, index, dtype)
   5475                 v = lib.fast_multiget(v, oindex.values, default=NA)
   5476             v = _sanitize_array(v, index, dtype=dtype, copy=False,
-> 5477                                 raise_cast_failure=False)
   5478 
   5479         homogenized.append(v)

C:\Users\aevseev\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\core\series.pyc in _sanitize_array(data, index, dtype, copy, raise_cast_failure)
   2811             subarr = _sanitize_index(data, index, copy=True)
   2812         else:
-> 2813             subarr = _try_cast(data, True)
   2814 
   2815         if copy:

C:\Users\aevseev\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\core\series.pyc in _try_cast(arr, take_fast_path)
   2779 
   2780         try:
-> 2781             subarr = _possibly_cast_to_datetime(arr, dtype)
   2782             if not is_internal_type(subarr):
   2783                 subarr = np.array(subarr, dtype=dtype, copy=copy)

C:\Users\aevseev\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\core\common.pyc in _possibly_cast_to_datetime(value, dtype, errors)
   1634         elif not (is_array and not (issubclass(value.dtype.type, np.integer) or
   1635                                     value.dtype == np.object_)):
-> 1636             value = _possibly_infer_to_datetimelike(value)
   1637 
   1638     return value

C:\Users\aevseev\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\core\common.pyc in _possibly_infer_to_datetimelike(value, convert_dates)
   1666 
   1667     v = value
-> 1668     if not is_list_like(v):
   1669         v = [v]
   1670     v = np.array(v,copy=False)

C:\Users\aevseev\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\core\common.pyc in is_list_like(arg)
   2326 
   2327 def is_list_like(arg):
-> 2328      return (hasattr(arg, '__iter__') and
   2329             not isinstance(arg, compat.string_and_binary_types))
   2330 

KeyboardInterrupt: 

In [49]:
qty_recorded_in_1c_and_store


Out[49]:
'6'

In [46]:
# qty_left_1c_store = table_store[0:1]
qty_left_1c_store
table_store.iloc[0].at[u'Quantity Txn Part']


---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-46-af4eaf761ad3> in <module>()
      1 # qty_left_1c_store = table_store[0:1]
      2 qty_left_1c_store
----> 3 table_store.iloc[0].at[u'Quantity Txn Part'].asfloat()

AttributeError: 'numpy.float64' object has no attribute 'asfloat'

In [204]:
mask = [(row in pn_qty[pn]['1cstoreinfo']) for row in table_1c.iterrows()]


---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-204-a75eb3b97631> in <module>()
----> 1 mask = [(row in pn_qty[pn]['1cstoreinfo']) for row in table_1c.iterrows()]

C:\Users\aevseev\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\core\generic.pyc in __nonzero__(self)
    729         raise ValueError("The truth value of a {0} is ambiguous. "
    730                          "Use a.empty, a.bool(), a.item(), a.any() or a.all()."
--> 731                          .format(self.__class__.__name__))
    732 
    733     __bool__ = __nonzero__

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

In [211]:
table_1c.drop(pn_qty[pn]['1cstoreinfo'])


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-211-a868f42767da> in <module>()
----> 1 table_1c.drop(pn_qty[pn]['1cstoreinfo'])

C:\Users\aevseev\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\core\generic.pyc in drop(self, labels, axis, level, inplace, errors)
   1615                 new_axis = axis.drop(labels, level=level, errors=errors)
   1616             else:
-> 1617                 new_axis = axis.drop(labels, errors=errors)
   1618             dropped = self.reindex(**{axis_name: new_axis})
   1619             try:

C:\Users\aevseev\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\core\index.pyc in drop(self, labels, errors)
   2797         """
   2798         labels = com._index_labels_to_array(labels)
-> 2799         indexer = self.get_indexer(labels)
   2800         mask = indexer == -1
   2801         if mask.any():

C:\Users\aevseev\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\core\index.pyc in get_indexer(self, target, method, limit, tolerance)
   1887             target = target.astype(object)
   1888             return this.get_indexer(target, method=method, limit=limit,
-> 1889                                     tolerance=tolerance)
   1890 
   1891         if not self.is_unique:

C:\Users\aevseev\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\core\index.pyc in get_indexer(self, target, method, limit, tolerance)
   1905                                  'backfill or nearest reindexing')
   1906 
-> 1907             indexer = self._engine.get_indexer(target._values)
   1908 
   1909         return com._ensure_platform_int(indexer)

pandas\index.pyx in pandas.index.IndexEngine.get_indexer (pandas\index.c:5840)()

pandas\hashtable.pyx in pandas.hashtable.PyObjectHashTable.lookup (pandas\hashtable.c:13174)()

C:\Users\aevseev\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\core\generic.pyc in __hash__(self)
    678     def __hash__(self):
    679         raise TypeError('{0!r} objects are mutable, thus they cannot be'
--> 680                         ' hashed'.format(self.__class__.__name__))
    681 
    682     def __iter__(self):

TypeError: 'Series' objects are mutable, thus they cannot be hashed

In [193]:
pn_qty[pn]['1cstoreinfo'].append(table_1c.ix[0])

In [197]:
pn_qty[pn]['1cstoreinfo']


Out[197]:
[Part no.                                                         B012828
 Part description       O-RING SZ 230 2.484 IDX 0.139W VITON 95Duro_  ...
 PO no.                                                        WOSS08284Y
 PO date                                                       10.06.2014
 PO qty                                                               100
 Customs file no.                               10707090-210714-0006470  
 Collected from port                                  2014-07-23 00:00:00
 Name: 0, dtype: object]

In [44]:
pn = 'B012828'
table_store = data_from_store[data_from_store['Part Number'] == pn]
table_1c = data_from_1c[data_from_1c['PO no.'] == pn]
pn_qty[pn]['storeinfo'] = []
pn_qty[pn]['1cinfo'] = []

In [165]:
table_store = data_from_store.ix[pns == pn].reset_index(drop=True)

In [183]:
table_store.ix[5:]


Out[183]:
Part Number Transaction Id Last Updated Date Quantity Txn Part Transaction Status Name

In [150]:
pn_qty[pn]['storeinfo'].append(table_store.ix[0])

In [151]:
qty_left_1c_store = table_store.get_value(0, u'Quantity Txn Part')

In [154]:
store_time


Out[154]:
Timestamp('2015-09-25 02:15:00')

In [181]:
pn_qty


Out[181]:
{'0013222': {'QTY': 2.0},
 '0013243': {'QTY': 2.0},
 '0013246': {'QTY': 2.0},
 '0013250': {'QTY': 15.0},
 '0028724': {'QTY': 3.0},
 '0078407': {'QTY': 12.0},
 '100044690': {'QTY': 2.0},
 '100083359': {'QTY': 3.0},
 '100083361': {'QTY': 4.0},
 '100083362': {'QTY': 3.0},
 '100119266': {'QTY': 40.0},
 '100131400': {'QTY': 1.0},
 '100131402': {'QTY': 1.0},
 '100135812': {'QTY': 2.0},
 '100150240': {'QTY': 0.0},
 '100151456': {'QTY': 6.0},
 '100152630': {'QTY': 2.0},
 '100195982': {'QTY': 6.0},
 '100233958': {'QTY': 7.0},
 '100234017': {'QTY': 1.0},
 '100246073': {'QTY': 15.0},
 '100247501': {'QTY': 3.0},
 '100247507': {'QTY': 3.0},
 '100272458': {'QTY': 2.0},
 '100289461': {'QTY': 2.0},
 '100313951': {'QTY': 0.0},
 '100320987': {'QTY': 17.0},
 '100323973': {'QTY': 2.0},
 '100333872': {'QTY': 2.0},
 '100350783': {'QTY': 16.0},
 '100369186': {'QTY': 4.0},
 '100369188': {'QTY': 2.0},
 '100369189': {'QTY': 2.0},
 '100387485': {'QTY': 1.0},
 '100387486': {'QTY': 2.0},
 '100387487': {'QTY': 2.0},
 '100427756': {'QTY': 1.0},
 '100430470': {'QTY': 3.0},
 '100453600': {'QTY': 2.0},
 '100459169': {'QTY': 2.0},
 '100459196': {'QTY': 2.0},
 '100471948': {'QTY': 1.0},
 '100471959': {'QTY': 1.0},
 '100545287': {'QTY': 2.0},
 '100546138': {'QTY': 0.25},
 '100547767': {'QTY': 4.0},
 '100593948': {'QTY': 30.0},
 '100596370': {'QTY': 3.0},
 '100600474': {'QTY': 2.0},
 '100629933': {'QTY': 2.0},
 '100672274': {'QTY': 14.0},
 '100735453': {'QTY': 1.0},
 '100756246': {'QTY': 1.0},
 '100777673': {'QTY': 0.02},
 '100809961': {'QTY': 4.0},
 '100885913': {'QTY': 6.0},
 '100886692': {'QTY': 1.0},
 '100886694': {'QTY': 2.0},
 '100987137': {'QTY': 4.0},
 '101189662': {'QTY': 0.0},
 '101199946': {'QTY': 0.0},
 '101200059': {'QTY': 0.0},
 '101200138': {'QTY': 0.0},
 '101201033': {'QTY': 0.0},
 '101227179': {'QTY': 0.0},
 '101295119': {'QTY': 0.0},
 '1323-0513': {'QTY': 6.0},
 '5047097': {'QTY': 1.0},
 '568308000': {'QTY': 6.0},
 '6907805': {'QTY': 1.0},
 '768-7128': {'QTY': 2.0},
 'A013623': {'QTY': 2.0},
 'A017129': {'QTY': 4.0},
 'A017811': {'QTY': 5.0},
 'A017900': {'QTY': 2.0},
 'A017901': {'QTY': 2.0},
 'A074990': {'QTY': 21.0},
 'A077468': {'QTY': 4.0},
 'B003526': {'QTY': 40.0},
 'B011866': {'QTY': 20.0},
 'B011968': {'QTY': 63.0},
 'B011975': {'QTY': 36.0},
 'B011979': {'QTY': 76.0},
 'B012058': {'QTY': 60.0},
 'B012068': {'QTY': 50.0},
 'B012140': {'QTY': 42.0},
 'B012416': {'QTY': 20.0},
 'B012577': {'QTY': 0.0},
 'B012800': {'QTY': 8.0},
 'B012827': {'QTY': 20.0},
 'B012828': {'1cinfo': [], 'QTY': 20.0, 'storeinfo': []},
 'B013074': {'QTY': 6.0},
 'B013113': {'QTY': 44.0},
 'B013118': {'QTY': 3.0},
 'B013124': {'QTY': 20.0},
 'B013338': {'QTY': 20.0},
 'B013394': {'QTY': 28.0},
 'B013403': {'QTY': 6.0},
 'B013495': {'QTY': 30.0},
 'B013519': {'QTY': 20.0},
 'B013522': {'QTY': 19.0},
 'B013577': {'QTY': 14.0},
 'B013591': {'QTY': 1.0},
 'B013711': {'QTY': 7.0},
 'B013811': {'QTY': 56.0},
 'B013813': {'QTY': 30.0},
 'B015067': {'QTY': 41.0},
 'B015285': {'QTY': 3.0},
 'B015544': {'QTY': 31.0},
 'B015548': {'QTY': 12.0},
 'B015864': {'QTY': 40.0},
 'B016090': {'QTY': 3.0},
 'B016173': {'QTY': 39.0},
 'B016351': {'QTY': 11.0},
 'B016376': {'QTY': 50.0},
 'B016564': {'QTY': 20.0},
 'B016806': {'QTY': 20.0},
 'B017018': {'QTY': 2.0},
 'B017514': {'QTY': 8.0},
 'B017687': {'QTY': 30.0},
 'B017964': {'QTY': 3.0},
 'B018126': {'QTY': 2.0},
 'B021970': {'QTY': 2.0},
 'B022771': {'QTY': 5.0},
 'B022776': {'QTY': 135.0},
 'B024454': {'QTY': 11.0},
 'B024456': {'QTY': 10.0},
 'B026012': {'QTY': 25.0},
 'B026214': {'QTY': 82.0},
 'B026220': {'QTY': 90.0},
 'B026328': {'QTY': 2.0},
 'B027273': {'QTY': 5.0},
 'B028715': {'QTY': 8.0},
 'B029039': {'QTY': 6.0},
 'B029691': {'QTY': 12.0},
 'B030696': {'QTY': 10.0},
 'B031067': {'QTY': 1.0},
 'B031974': {'QTY': 4.0},
 'B032729': {'QTY': 4.0},
 'B032902': {'QTY': 26.0},
 'B033000': {'QTY': 21.0},
 'B033177': {'QTY': 3.0},
 'B033556': {'QTY': 19.0},
 'B033748': {'QTY': 24.0},
 'B033920': {'QTY': 2.0},
 'B035097': {'QTY': 1.0},
 'B036231': {'QTY': 14.0},
 'B037544': {'QTY': 5.0},
 'B038860': {'QTY': 10.0},
 'B038861': {'QTY': 4.0},
 'B039820': {'QTY': 2.0},
 'B039821': {'QTY': 2.0},
 'B041860': {'QTY': 4.0},
 'B042765': {'QTY': 2.0},
 'B043873': {'QTY': 4.0},
 'B047933': {'QTY': 2.0},
 'B075203': {'QTY': 6.0},
 'B075206': {'QTY': 51.0},
 'B077493': {'QTY': 19.0},
 'B400300': {'QTY': 1.0},
 'B950546': {'QTY': 19.0},
 'E014640': {'QTY': 20.0},
 'E014641': {'QTY': 20.0},
 'E016031': {'QTY': 113.0},
 'E019676': {'QTY': 24.0},
 'E020819': {'QTY': 45.0},
 'E021726': {'QTY': 20.0},
 'E027145': {'QTY': 19.5},
 'E032604': {'QTY': 1.0},
 'E035146': {'QTY': 62.0},
 'E053296': {'QTY': 2.0},
 'E059074': {'QTY': 39.0},
 'E059096': {'QTY': 32.0},
 'E074825': {'QTY': 83.0},
 'E075206': {'QTY': 7.0},
 'H006468': {'QTY': 4.0},
 'H014201': {'QTY': 15.0},
 'H019446': {'QTY': 9.0},
 'H020680': {'QTY': 1.0},
 'H024743': {'QTY': 25.0},
 'H025276': {'QTY': 11.0},
 'H028049': {'QTY': 2.0},
 'H030142': {'QTY': 45.0},
 'H030464': {'QTY': 1.0},
 'H030474': {'QTY': 15.0},
 'H030489': {'QTY': 20.0},
 'H030552': {'QTY': 19.0},
 'H031718': {'QTY': 4.0},
 'H036384': {'QTY': 3.0},
 'H036486': {'QTY': 11.0},
 'H039955': {'QTY': 4.0},
 'H103819': {'QTY': 2.0},
 'H103856': {'QTY': 2.0},
 'H103857': {'QTY': 3.0},
 'H106462': {'QTY': 1.0},
 'H106465': {'QTY': 7.0},
 'H106964': {'QTY': 2.0},
 'H113585': {'QTY': 3.0},
 'H113586': {'QTY': 2.0},
 'H113587': {'QTY': 2.0},
 'H115576': {'QTY': 331.0},
 'H115642': {'QTY': 45.0},
 'H122037': {'QTY': 30.0},
 'H122090': {'QTY': 2.0},
 'H122373': {'QTY': 2.0},
 'H122757': {'QTY': 67.0},
 'H122858': {'QTY': 3.0},
 'H122983': {'QTY': 2.0},
 'H123576': {'QTY': 6.0},
 'H123578': {'QTY': 5.0},
 'H124244': {'QTY': 1.0},
 'H125975': {'QTY': 17.0},
 'H125979': {'QTY': 57.0},
 'H129421': {'QTY': 2.0},
 'H129818': {'QTY': 5.0},
 'H142293': {'QTY': 1.0},
 'H142548': {'QTY': 10.0},
 'H186408': {'QTY': 0.0},
 'H208298': {'QTY': 7.0},
 'H222341': {'QTY': 10.0},
 'H222637': {'QTY': 70.0},
 'H239552': {'QTY': 5.0},
 'H239553': {'QTY': 1.0},
 'H245414': {'QTY': 40.0},
 'H245476': {'QTY': 16.0},
 'H245716': {'QTY': 60.0},
 'H245758': {'QTY': 45.0},
 'H245760': {'QTY': 25.0},
 'H245764': {'QTY': 200.0},
 'H245765': {'QTY': 406.0},
 'H245789': {'QTY': 4.0},
 'H245814': {'QTY': 9.0},
 'H251222': {'QTY': 9.0},
 'H251223': {'QTY': 9.0},
 'H264345': {'QTY': 2.0},
 'H268097': {'QTY': 2.0},
 'H268423': {'QTY': 2.0},
 'H272977': {'QTY': 7.0},
 'H304333': {'QTY': 2.0},
 'H304464': {'QTY': 1.0},
 'H304465': {'QTY': 1.0},
 'H318167': {'QTY': 55.0},
 'H318168': {'QTY': 225.0},
 'H318169': {'QTY': 20.0},
 'H318170': {'QTY': 8.0},
 'H318171': {'QTY': 40.0},
 'H318172': {'QTY': 60.0},
 'H329445': {'QTY': 8.0},
 'H334008': {'QTY': 36.0},
 'H334866': {'QTY': 1.0},
 'H340570': {'QTY': 1.0},
 'H345416': {'QTY': 1.0},
 'H345436': {'QTY': 5.0},
 'H345437': {'QTY': 1.0},
 'H348368': {'QTY': 12.0},
 'H348476': {'QTY': 17.0},
 'H348485': {'QTY': 17.0},
 'H348487': {'QTY': 6.0},
 'H348488': {'QTY': 4.0},
 'H348502': {'QTY': 13.0},
 'H348515': {'QTY': 2.0},
 'H348545': {'QTY': 2.0},
 'H348565': {'QTY': 26.0},
 'H348570': {'QTY': 1.0},
 'H348579': {'QTY': 2.0},
 'H348580': {'QTY': 2.0},
 'H348598': {'QTY': 20.0},
 'H348599': {'QTY': 2.0},
 'H348636': {'QTY': 5.0},
 'H348684': {'QTY': 2.0},
 'H352067': {'QTY': 1.0},
 'H352079': {'QTY': 1.0},
 'H352141': {'QTY': 6.0},
 'H352149': {'QTY': 8.0},
 'H353197': {'QTY': 2.0},
 'H354471': {'QTY': 3.0},
 'H356826': {'QTY': 2.0},
 'H357016': {'QTY': 1.0},
 'H395969': {'QTY': 44.0},
 'H400299': {'QTY': 38.0},
 'H400300': {'QTY': 1.0},
 'H400311': {'QTY': 25.0},
 'H400312': {'QTY': 58.0},
 'H400313': {'QTY': 105.0},
 'H400320': {'QTY': 15.0},
 'H400325': {'QTY': 18.0},
 'H432083': {'QTY': 20.0},
 'H432091': {'QTY': 2.0},
 'H432222': {'QTY': 2.0},
 'H432270': {'QTY': 12.0},
 'H432358': {'QTY': 14.0},
 'H432650': {'QTY': 206.0},
 'H441236': {'QTY': 2.0},
 'H441403': {'QTY': 7.0},
 'H441404': {'QTY': 7.0},
 'H441405': {'QTY': 7.0},
 'H441406': {'QTY': 7.0},
 'H441408': {'QTY': 7.0},
 'H441531': {'QTY': 1.0},
 'H441737': {'QTY': 2.0},
 'H448511': {'QTY': 4.0},
 'H543352': {'QTY': 2.0},
 'H543678': {'QTY': 3.0},
 'H543858': {'QTY': 10.0},
 'H622739': {'QTY': 1.0},
 'H623023': {'QTY': 30.0},
 'H657089': {'QTY': 40.0},
 'H701033': {'QTY': 2.0},
 'H701078': {'QTY': 4.0},
 'H701182': {'QTY': 8.0},
 'H701203': {'QTY': 2.0},
 'H701204': {'QTY': 2.0},
 'H701311': {'QTY': 2.0},
 'H701352': {'QTY': 10.0},
 'H701354': {'QTY': 30.0},
 'H701429': {'QTY': 1.0},
 'H701625': {'QTY': 4.0},
 'H701899': {'QTY': 3.0},
 'H712097': {'QTY': 2.0},
 'H712585': {'QTY': 3.0},
 'H712970': {'QTY': 3.0},
 'H712971': {'QTY': 2.0},
 'H713110': {'QTY': 3.0},
 'H713111': {'QTY': 3.0},
 'H713112 ': {'QTY': 2.0},
 'J106465': {'QTY': 3.0},
 'J282453': {'QTY': 7.0},
 'J591630': {'QTY': 2.0},
 'J952302': {'QTY': 2.0},
 'M-120106': {'QTY': 2.0},
 'P014201': {'QTY': 10.0},
 'P017957': {'QTY': 4.0},
 'P020680': {'QTY': 5.0},
 'P028050': {'QTY': 4.0},
 'P030489': {'QTY': 6.0},
 'P033771': {'QTY': 56.0},
 'P070481': {'QTY': 2.0},
 'P075228': {'QTY': 2.0},
 'P075249': {'QTY': 2.0},
 'P075903': {'QTY': 15.0},
 'P075979': {'QTY': 3.0},
 'P075985': {'QTY': 20.0},
 'P097665': {'QTY': 2.0},
 'P099188': {'QTY': 4.0},
 'P125975': {'QTY': 6.0},
 'P125979': {'QTY': 9.0},
 'P189653': {'QTY': 19.0},
 'P189654': {'QTY': 2.0},
 'P191838': {'QTY': 4.0},
 'P191845': {'QTY': 4.0},
 'P191971': {'QTY': 13.0},
 'P192017': {'QTY': 12.0},
 'P195951': {'QTY': 4.0},
 'P215562': {'QTY': 1.0},
 'P215563': {'QTY': 1.0},
 'P286568': {'QTY': 2.0},
 'P329067': {'QTY': 1.0},
 'P334864': {'QTY': 4.0},
 'P495588': {'QTY': 2.0},
 'P500414': {'QTY': 2.0},
 'P676065': {'QTY': 2.0},
 'P694786': {'QTY': 5.0},
 'P792910': {'QTY': 2.0},
 'T6005013': {'QTY': 2.0},
 'T6005014': {'QTY': 2.0},
 'T6005108': {'QTY': 2.0},
 'T6005134': {'QTY': 2.0},
 'T6005172': {'QTY': 2.0},
 'T6005231': {'QTY': 1.0},
 'T6005232': {'QTY': 2.0},
 'T6006268': {'QTY': 43.0},
 'T6008016': {'QTY': 3.0},
 'T6015159': {'QTY': 2.0},
 'T6015632': {'QTY': 1.0},
 'T6040564': {'QTY': 22.0}}

In [153]:
store_time = table_store.get_value(0, u'Last Updated Date')

In [155]:
table_1c[u'Collected from port'] < store_time


Out[155]:
6931    True
6893    True
6637    True
5264    True
5263    True
4655    True
4328    True
3117    True
Name: Collected from port, dtype: bool

In [158]:
table_1c = table_1c.where(table_1c[u'Collected from port'] < store_time)

In [163]:
table_1c.reset_index(drop=True)


Out[163]:
Part no. Part description PO no. PO date PO qty Customs file no. Collected from port
0 B012828 O-RING SZ 230 2.484 IDX 0.139W VITON 95Duro_ ... WOSS08284Y 10.06.2014 100 10707090-210714-0006470 2014-07-23
1 B012828 O-RING SZ 230 2.484 IDX 0.139W VITON 95Duro_ ... WOSS08241W 29.05.2014 500 10707090-150714-0006191 2014-07-17
2 B012828 O-RING SZ 230 2.484 IDX 0.139W VITON 95Duro_ ... WOSS08179X 21.05.2014 500 10707090-040714-0005806 2014-07-08
3 B012828 O-RING SZ 230 2.484 IDX 0.139W VITON 95Duro_ ... WOSS07806V 05.11.2013 300 10707090-100114-0000070 2014-01-13
4 B012828 O-RING SZ 230 2.484 IDX 0.139W VITON 95Duro_ ... WOSS07806V 05.11.2013 300 10707090-171213-0010713 2013-12-19
5 B012828 O-RING SZ 230 2.484 IDX 0.139W VITON 95Duro_ ... WOSS07717U 18.09.2013 400 10707090-121113-0009528 2013-11-14
6 B012828 O-RING SZ 2-230 VITON 95D ... WOSS07619X 26.07.2013 500 10707090-050913-0007534 2013-09-05
7 B012828 O-RING SZ 2-230 VITON 95D Or... WOSS07110Y 22.08.2012 1 000 10707090-091012-0009765 2012-10-11

In [ ]:


In [ ]:


In [ ]:


In [37]:
counter = collections.Counter(data_from_1c[u'Part no.'])

In [38]:
pn_counter = {}
for pn in pn_qty.iterkeys():
    pn_counter[pn] = counter[pn]

In [39]:
pn_counter


Out[39]:
{'0013222': 0,
 '0013243': 0,
 '0013246': 0,
 '0013250': 0,
 '0028724': 0,
 '0078407': 2,
 '100044690': 0,
 '100083359': 7,
 '100083361': 6,
 '100083362': 6,
 '100119266': 5,
 '100131400': 2,
 '100131402': 3,
 '100135812': 0,
 '100150240': 10,
 '100151456': 7,
 '100152630': 1,
 '100195982': 6,
 '100233958': 2,
 '100234017': 1,
 '100246073': 6,
 '100247501': 11,
 '100247507': 5,
 '100272458': 10,
 '100289461': 0,
 '100313951': 0,
 '100320987': 5,
 '100323973': 3,
 '100333872': 0,
 '100350783': 0,
 '100369186': 5,
 '100369188': 0,
 '100369189': 32,
 '100387485': 1,
 '100387486': 2,
 '100387487': 1,
 '100427756': 4,
 '100430470': 5,
 '100453600': 0,
 '100459169': 0,
 '100459196': 2,
 '100471948': 0,
 '100471959': 2,
 '100545287': 0,
 '100546138': 0,
 '100547767': 2,
 '100593948': 3,
 '100596370': 1,
 '100600474': 0,
 '100629933': 1,
 '100672274': 3,
 '100735453': 4,
 '100756246': 5,
 '100777673': 0,
 '100809961': 11,
 '100885913': 1,
 '100886692': 0,
 '100886694': 1,
 '100987137': 6,
 '101189662': 0,
 '101199946': 0,
 '101200059': 0,
 '101200138': 0,
 '101201033': 0,
 '101227179': 0,
 '101295119': 0,
 '1323-0513': 7,
 '5047097': 1,
 '568308000': 4,
 '6907805': 0,
 '768-7128': 0,
 'A013623': 2,
 'A017129': 3,
 'A017811': 1,
 'A017900': 0,
 'A017901': 1,
 'A074990': 2,
 'A077468': 1,
 'B003526': 4,
 'B011866': 1,
 'B011968': 1,
 'B011975': 7,
 'B011979': 1,
 'B012058': 2,
 'B012068': 6,
 'B012140': 5,
 'B012416': 4,
 'B012577': 0,
 'B012800': 0,
 'B012827': 0,
 'B012828': 8,
 'B013074': 1,
 'B013113': 5,
 'B013118': 3,
 'B013124': 5,
 'B013338': 6,
 'B013394': 2,
 'B013403': 4,
 'B013495': 0,
 'B013519': 1,
 'B013522': 2,
 'B013577': 1,
 'B013591': 6,
 'B013711': 5,
 'B013811': 1,
 'B013813': 2,
 'B015067': 2,
 'B015285': 2,
 'B015544': 3,
 'B015548': 1,
 'B015864': 3,
 'B016090': 0,
 'B016173': 3,
 'B016351': 0,
 'B016376': 1,
 'B016564': 2,
 'B016806': 1,
 'B017018': 1,
 'B017514': 5,
 'B017687': 0,
 'B017964': 4,
 'B018126': 5,
 'B021970': 7,
 'B022771': 0,
 'B022776': 4,
 'B024454': 1,
 'B024456': 1,
 'B026012': 5,
 'B026214': 5,
 'B026220': 1,
 'B026328': 0,
 'B027273': 0,
 'B028715': 4,
 'B029039': 2,
 'B029691': 1,
 'B030696': 3,
 'B031067': 0,
 'B031974': 3,
 'B032729': 0,
 'B032902': 1,
 'B033000': 2,
 'B033177': 7,
 'B033556': 19,
 'B033748': 3,
 'B033920': 6,
 'B035097': 9,
 'B036231': 2,
 'B037544': 7,
 'B038860': 8,
 'B038861': 2,
 'B039820': 7,
 'B039821': 5,
 'B041860': 0,
 'B042765': 3,
 'B043873': 2,
 'B047933': 0,
 'B075203': 1,
 'B075206': 3,
 'B077493': 3,
 'B400300': 0,
 'B950546': 9,
 'E014640': 3,
 'E014641': 3,
 'E016031': 3,
 'E019676': 2,
 'E020819': 2,
 'E021726': 1,
 'E027145': 5,
 'E032604': 5,
 'E035146': 3,
 'E053296': 0,
 'E059074': 3,
 'E059096': 2,
 'E074825': 3,
 'E075206': 0,
 'H006468': 4,
 'H014201': 7,
 'H019446': 5,
 'H020680': 2,
 'H024743': 12,
 'H025276': 6,
 'H028049': 6,
 'H030142': 6,
 'H030464': 4,
 'H030474': 6,
 'H030489': 2,
 'H030552': 13,
 'H031718': 2,
 'H036384': 3,
 'H036486': 3,
 'H039955': 3,
 'H103819': 3,
 'H103856': 1,
 'H103857': 11,
 'H106462': 5,
 'H106465': 7,
 'H106964': 2,
 'H113585': 10,
 'H113586': 3,
 'H113587': 8,
 'H115576': 19,
 'H115642': 5,
 'H122037': 3,
 'H122090': 8,
 'H122373': 6,
 'H122757': 11,
 'H122858': 4,
 'H122983': 2,
 'H123576': 10,
 'H123578': 7,
 'H124244': 7,
 'H125975': 5,
 'H125979': 6,
 'H129421': 5,
 'H129818': 3,
 'H142293': 1,
 'H142548': 1,
 'H186408': 0,
 'H208298': 7,
 'H222341': 2,
 'H222637': 6,
 'H239552': 1,
 'H239553': 0,
 'H245414': 3,
 'H245476': 4,
 'H245716': 11,
 'H245758': 12,
 'H245760': 8,
 'H245764': 4,
 'H245765': 11,
 'H245789': 7,
 'H245814': 5,
 'H251222': 4,
 'H251223': 4,
 'H264345': 1,
 'H268097': 6,
 'H268423': 8,
 'H272977': 11,
 'H304333': 2,
 'H304464': 4,
 'H304465': 3,
 'H318167': 5,
 'H318168': 13,
 'H318169': 1,
 'H318170': 1,
 'H318171': 7,
 'H318172': 8,
 'H329445': 8,
 'H334008': 2,
 'H334866': 2,
 'H340570': 0,
 'H345416': 4,
 'H345436': 4,
 'H345437': 1,
 'H348368': 1,
 'H348476': 5,
 'H348485': 4,
 'H348487': 3,
 'H348488': 4,
 'H348502': 5,
 'H348515': 6,
 'H348545': 3,
 'H348565': 1,
 'H348570': 6,
 'H348579': 0,
 'H348580': 0,
 'H348598': 1,
 'H348599': 5,
 'H348636': 0,
 'H348684': 3,
 'H352067': 2,
 'H352079': 8,
 'H352141': 5,
 'H352149': 6,
 'H353197': 3,
 'H354471': 2,
 'H356826': 3,
 'H357016': 4,
 'H395969': 6,
 'H400299': 7,
 'H400300': 1,
 'H400311': 9,
 'H400312': 4,
 'H400313': 9,
 'H400320': 11,
 'H400325': 10,
 'H432083': 2,
 'H432091': 8,
 'H432222': 2,
 'H432270': 1,
 'H432358': 0,
 'H432650': 0,
 'H441236': 4,
 'H441403': 4,
 'H441404': 2,
 'H441405': 5,
 'H441406': 4,
 'H441408': 9,
 'H441531': 2,
 'H441737': 7,
 'H448511': 0,
 'H543352': 6,
 'H543678': 5,
 'H543858': 2,
 'H622739': 5,
 'H623023': 1,
 'H657089': 3,
 'H701033': 3,
 'H701078': 5,
 'H701182': 4,
 'H701203': 2,
 'H701204': 2,
 'H701311': 4,
 'H701352': 4,
 'H701354': 6,
 'H701429': 3,
 'H701625': 1,
 'H701899': 7,
 'H712097': 7,
 'H712585': 5,
 'H712970': 11,
 'H712971': 12,
 'H713110': 7,
 'H713111': 8,
 'H713112 ': 0,
 'J106465': 2,
 'J282453': 1,
 'J591630': 0,
 'J952302': 0,
 'M-120106': 0,
 'P014201': 2,
 'P017957': 2,
 'P020680': 2,
 'P028050': 0,
 'P030489': 1,
 'P033771': 2,
 'P070481': 12,
 'P075228': 3,
 'P075249': 5,
 'P075903': 3,
 'P075979': 0,
 'P075985': 2,
 'P097665': 2,
 'P099188': 2,
 'P125975': 1,
 'P125979': 2,
 'P189653': 1,
 'P189654': 2,
 'P191838': 2,
 'P191845': 0,
 'P191971': 1,
 'P192017': 2,
 'P195951': 4,
 'P215562': 4,
 'P215563': 4,
 'P286568': 1,
 'P329067': 0,
 'P334864': 0,
 'P495588': 2,
 'P500414': 0,
 'P676065': 0,
 'P694786': 0,
 'P792910': 7,
 'T6005013': 7,
 'T6005014': 8,
 'T6005108': 0,
 'T6005134': 6,
 'T6005172': 0,
 'T6005231': 4,
 'T6005232': 0,
 'T6006268': 5,
 'T6008016': 2,
 'T6015159': 3,
 'T6015632': 3,
 'T6040564': 5}

In [113]:
pn_and_qty.columns


Out[113]:
Index([u'PN', u'QTY'], dtype='object')

In [117]:
pn_and_qty[[u'PN', u'QTY']]


Out[117]:
PN QTY
0 T6005108 2
1 A077468 4
2 H222341 10
3 100987137 4
4 P215562 1
5 P215563 1
6 P125975 6
7 H441236 2
8 P017957 4
9 100195982 6
10 H106964 2
11 P099188 4
12 H030489 20
13 T6005172 2
14 J282453 7
15 100247501 3
16 B029691 12
17 100247507 3
18 H712971 2
19 H712970 3
20 P191971 13
21 H028049 2
22 H122373 2
23 B016351 11
24 B012800 8
25 H348368 12
26 B015864 40
27 B017964 3
28 B015544 31
29 B015548 12
... ... ...
345 B016090 3
346 B026220 90
347 H432091 2
348 H713112 2
349 H123578 5
350 H356826 2
351 H020680 1
352 H348598 20
353 H348599 2
354 100629933 2
355 B016173 39
356 H441408 7
357 P075249 2
358 H441403 7
359 H441404 7
360 H441405 7
361 H441406 7
362 B011866 20
363 H036384 3
364 H432270 12
365 H712585 3
366 H239553 1
367 H239552 5
368 B013591 1
369 H441531 1
370 B029039 6
371 B012068 50
372 H432650 206
373 B017687 30
374 H245758 45

375 rows × 2 columns


In [ ]:


In [16]:


In [37]:


In [ ]:


In [39]:
list(pn_and_qty.iteritems())


Out[39]:
[('PN', 0        5047097
  1        6907805
  2      100044690
  3      100083359
  4      100083361
  5      100083362
  6      100119266
  7      100119266
  8      100119266
  9      100131400
  10     100131402
  11     100135812
  12     100150240
  13     100151456
  14     100152630
  15     100195982
  16     100233958
  17     100233958
  18     100234017
  19     100246073
  20     100246073
  21     100246073
  22     100246073
  23     100246073
  24     100247501
  25     100247507
  26     100272458
  27     100289461
  28     100313951
  29     100320987
           ...    
  526      P189654
  527      P191838
  528      P191845
  529      P191971
  530      P192017
  531      P195951
  532      P215562
  533      P215563
  534      P286568
  535      P329067
  536      P334864
  537      P495588
  538      P500414
  539      P676065
  540      P694786
  541      P792910
  542     T6005013
  543     T6005014
  544     T6005108
  545     T6005134
  546     T6005172
  547     T6005231
  548     T6005232
  549     T6006268
  550     T6006268
  551     T6006268
  552     T6008016
  553     T6015159
  554     T6015632
  555     T6040564
  Name: PN, dtype: object), ('QTY', 0       1
  1       1
  2       2
  3       3
  4       4
  5       3
  6      10
  7      20
  8      10
  9       1
  10      1
  11      2
  12      0
  13      6
  14      2
  15      4
  16      5
  17      2
  18      1
  19      2
  20      2
  21      2
  22      7
  23      2
  24      2
  25      3
  26      2
  27      2
  28      0
  29      8
         ..
  526     2
  527     4
  528     4
  529    13
  530    12
  531     4
  532     1
  533     1
  534     2
  535     1
  536     4
  537     2
  538     2
  539     2
  540     5
  541     2
  542     2
  543     2
  544     2
  545     2
  546     2
  547     1
  548     2
  549     2
  550     1
  551    40
  552     3
  553     2
  554     1
  555    22
  Name: QTY, dtype: float64)]

In [178]:
table = []
for pn in pn_qty.iterkeys():
    table.append(data_from_1c.where(data_from_1c['Part no.'] == pn))

In [180]:
table[0]


Out[180]:
Part no. Part description PO no. PO date PO qty Customs file no. Collected from port
4133 NaN NaN NaN NaN NaN NaN NaT
7231 NaN NaN NaN NaN NaN NaN NaT
7246 NaN NaN NaN NaN NaN NaN NaT
7245 NaN NaN NaN NaN NaN NaN NaT
7244 NaN NaN NaN NaN NaN NaN NaT
7243 NaN NaN NaN NaN NaN NaN NaT
7242 NaN NaN NaN NaN NaN NaN NaT
7241 NaN NaN NaN NaN NaN NaN NaT
7240 NaN NaN NaN NaN NaN NaN NaT
7239 NaN NaN NaN NaN NaN NaN NaT
7238 NaN NaN NaN NaN NaN NaN NaT
7237 NaN NaN NaN NaN NaN NaN NaT
7236 NaN NaN NaN NaN NaN NaN NaT
7235 NaN NaN NaN NaN NaN NaN NaT
7234 NaN NaN NaN NaN NaN NaN NaT
7233 NaN NaN NaN NaN NaN NaN NaT
7230 NaN NaN NaN NaN NaN NaN NaT
7248 NaN NaN NaN NaN NaN NaN NaT
7229 NaN NaN NaN NaN NaN NaN NaT
7228 NaN NaN NaN NaN NaN NaN NaT
7227 NaN NaN NaN NaN NaN NaN NaT
7226 NaN NaN NaN NaN NaN NaN NaT
7225 NaN NaN NaN NaN NaN NaN NaT
7224 NaN NaN NaN NaN NaN NaN NaT
7223 NaN NaN NaN NaN NaN NaN NaT
7222 NaN NaN NaN NaN NaN NaN NaT
4563 NaN NaN NaN NaN NaN NaN NaT
4564 NaN NaN NaN NaN NaN NaN NaT
7057 NaN NaN NaN NaN NaN NaN NaT
7058 NaN NaN NaN NaN NaN NaN NaT
... ... ... ... ... ... ... ...
552 NaN NaN NaN NaN NaN NaN NaT
553 NaN NaN NaN NaN NaN NaN NaT
554 NaN NaN NaN NaN NaN NaN NaT
555 NaN NaN NaN NaN NaN NaN NaT
556 NaN NaN NaN NaN NaN NaN NaT
542 NaN NaN NaN NaN NaN NaN NaT
558 NaN NaN NaN NaN NaN NaN NaT
528 NaN NaN NaN NaN NaN NaN NaT
560 NaN NaN NaN NaN NaN NaN NaT
300 NaN NaN NaN NaN NaN NaN NaT
541 NaN NaN NaN NaN NaN NaN NaT
562 NaN NaN NaN NaN NaN NaN NaT
563 NaN NaN NaN NaN NaN NaN NaT
80 NaN NaN NaN NaN NaN NaN NaT
307 NaN NaN NaN NaN NaN NaN NaT
539 NaN NaN NaN NaN NaN NaN NaT
535 NaN NaN NaN NaN NaN NaN NaT
529 NaN NaN NaN NaN NaN NaN NaT
158 NaN NaN NaN NaN NaN NaN NaT
91 NaN NaN NaN NaN NaN NaN NaT
141 NaN NaN NaN NaN NaN NaN NaT
140 NaN NaN NaN NaN NaN NaN NaT
145 NaN NaN NaN NaN NaN NaN NaT
146 NaN NaN NaN NaN NaN NaN NaT
152 NaN NaN NaN NaN NaN NaN NaT
149 NaN NaN NaN NaN NaN NaN NaT
160 NaN NaN NaN NaN NaN NaN NaT
48 NaN NaN NaN NaN NaN NaN NaT
161 NaN NaN NaN NaN NaN NaN NaT
144 NaN NaN NaN NaN NaN NaN NaT

7135 rows × 7 columns


In [172]:
type(table)


Out[172]:
pandas.core.frame.DataFrame

In [ ]: