Как случайным образом выбрать значения из набора данных и поместить их в другой набор данных (выборка с заменой? - PullRequest
0 голосов
/ 17 октября 2019

Я хочу сгенерировать примеры начальной загрузки с помощью replacemnt, а код, который я использую, выглядит следующим образом.

def subsample(dataset, ratio):
    sample = list()
    n_sample = round(len(dataset) * ratio)
    while len(sample) < n_sample:
        index = randrange(len(dataset))
        .append(dataset[index])
        print(sample)
    return sample

import pandas as pd
seed(1)
# True mean
dataset =pd.read_csv("diabetes.csv")
print(type(dataset))
ratio = 0.10
for size in [6]:
sample = list()
    for i in range(size):
        sample = subsample(dataset,68)
        print("sample",i,"=",sample)

Я пытаюсь запустить приведенный выше код для выполнения алгоритма создания пакетов, но получаю следующее KeyError:

---------------------------------------------------------------------------
    KeyError                                  Traceback (most recent call last)
    ~\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method,
tolerance)
   3077             try:
  -> 3078                 return self._engine.get_loc(key)
   3079             except KeyError:

    pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()

    pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()

     pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

    KeyError: 137

     During handling of the above exception, another exception occurred:

       KeyError                                  Traceback (most recent call last)
        <ipython-input-79-878061218ef0> in <module>
     24     sample = list()
     25     for i in range(size):
---> 26         sample = subsample(dataset,68)
     27         print("sample",i,"=",sample)

<ipython-input-79-878061218ef0> in subsample(dataset, ratio)
     10     while len(sample) < n_sample:
     11         index = randrange(len(dataset))
---> 12         sample.append(dataset[index])
     13         print(sample)
     14     return sample

~\Anaconda3\lib\site-packages\pandas\core\frame.py in __getitem__(self, key)
   2686             return self._getitem_multilevel(key)
   2687         else:
-> 2688             return self._getitem_column(key)
   2689
   2690     def _getitem_column(self, key):

    ~\Anaconda3\lib\site-packages\pandas\core\frame.py in _getitem_column(self, key)
        2693         # get column
        2694         if self.columns.is_unique:
       -> 2695             return self._get_item_cache(key)
       2696
       2697         # duplicate columns & possible reduce dimensionality

    ~\Anaconda3\lib\site-packages\pandas\core\generic.py in _get_item_cache(self, item)
   2487         res = cache.get(item)
   2488         if res is None:
   -> 2489             values = self._data.get(item)
   2490             res = self._box_item_values(item, values)
   2491             cache[item] = res

   ~\Anaconda3\lib\site-packages\pandas\core\internals.py in get(self, item, fastpath)
   4113
   4114             if not isna(item):

   -> 4115                 loc = self.items.get_loc(item)
   4116             else:
   4117                 indexer = np.arange(len(self.items))[isna(self.items)]

    ~\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method,
tolerance)
   3078                 return self._engine.get_loc(key)
   3079             except KeyError:
-> 3080                 return self._engine.get_loc(self._maybe_cast_indexer(key))
   3081
   3082         indexer = self.get_indexer([key], method=method, tolerance=tolerance)

    pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()

    pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()

    pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

    pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

    KeyError: 137

Мне нужно получить образец начальной загрузки с заменой, чтобы я мог применить к ним алгоритм пакетирования ... Образец должен быть выбран случайным образом из всего набора данных, и основная проблема заключается в том,сталкивается в линии sample.append(dataset[index]). Я не понимаю ошибку, и если у кого-то есть полная реализация упаковки с нуля, то, пожалуйста, поделитесь. Я должен сделать исследовательский проект по этой теме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...