Я пытаюсь сохранить очень большой набор данных, где один столбец представляет собой одно целое число, а другой столбец - несколько целых чисел, а число целых во втором столбце может варьироваться от 3 до 50.
Раньше я сохранял его, имея двумерный массив, где первый столбец был целым числом, а второй столбец - списком.
Я бы сохранил это, используя numpy.save
, но когда я попытался бы открыть его, моя среда (колаборатория Google) потерпела крах, так как набор данных настолько велик, и у меня не хватило памяти.Позже я узнал, что числовые массивы не оптимизированы для хранения списков Python, поэтому я преобразовал второй столбец в числовые массивы.
Однако теперь я даже не могу сохранить, потому что моя среда падает, когда я пытаюсь.
Вот как выглядят первые 10 строк данных numpy
array([[0,
array([10158697, 5255434, 9860860, 3677049, 3451292, 7225330])],
[1,
array([ 5985929, 7356938, 5232932, 4623077, 10461651, 6629144,
2738221, 7672279, 3197654, 11678039, 1912097, 6581279,
8141689, 6694817, 6139889, 7946369, 3995629, 3169031,
3793217, 6990097, 11298098, 6120907, 5336712, 7366785,
7363171, 3933563, 6484209, 4243394, 6371367, 4361218,
11469370, 6166715, 11519607, 11602639, 10759034, 6432476,
5327726, 11390220, 7009744, 10225744, 3781058, 1305863,
462965, 1158562, 2620006, 73896, 4945223, 11780201,
3044821])],
[2,
array([10847593, 8665775, 341568, 4164850, 6509965, 8227738])],
[3,
array([ 9105020, 1896456, 2757197, 5911741, 8123078, 10629261,
5646782, 5255907, 8802504, 3735293, 5496511, 1612181,
10029269, 8911733, 8035123, 4855475, 2226494, 10448630,
2041328, 532211, 10049766, 7320606, 7783187, 11536583,
9192742, 8965808, 7750786, 2462038, 111935, 4306882,
11193228])],
[4,
array([11406300, 9947761, 2539951, 1928472, 1286647, 1360522,
9680046, 1304518, 2577907, 5903319, 6304940, 8249558,
11156695, 5704721, 9753227, 465481, 8849435, 5040956,
8124190, 11094867, 9225419, 10531161, 3796335, 6660230,
823696, 3271428, 9167574])],
[5, array([3535672, 9474011, 4708696, 9700618, 4762633])],
[6,
array([ 1352149, 6408648, 3218823, 977256, 2488662, 603435,
6576555, 2555278, 5487362, 10008975, 5066785, 5294573,
1381729])],
[7,
array([ 7078697, 2981709, 2426786, 676729, 2688166, 3353437,
7244406, 7804172, 9142652, 10594869, 95474, 3867698,
6645756, 1936281, 3728779, 10800050, 8270358, 2336174,
6785259, 7282204, 7485619, 8041965, 2445126, 5681877,
8383953, 9431775, 11442616, 9835489, 3940227, 1289543,
87876, 6148249, 3026723, 1651607, 4135482, 916739,
10408908, 9178863, 11775813, 1652898, 1190197, 1913270,
3759101, 7491500, 5183607, 8476053, 8482428, 11354398,
2370455, 6820229, 3952122, 9633865, 4498499, 1475415,
11303906, 2958509, 10639369])],
[8,
array([ 67999, 3847504, 8303130, 748628, 1321792, 3453436,
2813805, 6915028, 8459024, 10499123, 8855154, 9783163,
8580897, 3092270, 3438170, 9067374, 11068581, 4926186,
6137797, 2207028, 2806970, 8601327, 5183768, 10655752,
2775719, 6653472, 3995496, 2488194, 3610797, 5508794,
6524258, 2368954, 2070, 9522863, 1765121, 7842059,
11473248, 3077500, 130699, 1407101, 2434487, 1129155,
5643519, 7780188])],
[9, array([8528119, 6930255, 630592, 5476242])]], dtype=object)
Есть ли лучший способ хранить данные в формате, где есть группа целых чисел, и каждое целое число соответствует переменномуколичество целых чисел?