Метод 1: Генерация нужного массива из файла
Если вы начинаете с CSV, вы можете просто использовать np.genfromtxt
:
Если filename.csv
выглядит так:
39, State-gov, 77516, Bachelors, 13, Never-married, Adm-clerical, Not-in-family, White, Male, 2174, 0, 40, United-States, <=50K
50, Self-emp-not-inc, 83311, Bachelors, 13, Married-civ-spouse, Exec-managerial, Husband, White, Male, 0, 0, 13, United-States, <=50K
Тогда:
new_arr = np.genfromtxt('filename.csv', dtype='str')
>>> new_arr
array([['39,', 'State-gov,', '77516,', 'Bachelors,', '13,',
'Never-married,', 'Adm-clerical,', 'Not-in-family,', 'White,',
'Male,', '2174,', '0,', '40,', 'United-States,', '<=50K'],
['50,', 'Self-emp-not-inc,', '83311,', 'Bachelors,', '13,',
'Married-civ-spouse,', 'Exec-managerial,', 'Husband,', 'White,',
'Male,', '0,', '0,', '13,', 'United-States,', '<=50K']],
dtype='<U19')
Метод 2: Исправление вашего массива:
В противном случае, если у вас уже есть массив:
>>> arr
array(['39, State-gov, 77516, Bachelors, 13, Never-married, Adm-clerical, Not-in-family, White, Male, 2174, 0, 40, United-States, <=50K',
'50, Self-emp-not-inc, 83311, Bachelors, 13, Married-civ-spouse, Exec-managerial, Husband, White, Male, 0, 0, 13, United-States, <=50K'],
dtype='<U133')
Вы можете перебирать ее и разбивать каждую строку, чтобы получить желаемый результат:
new_arr = np.array([i.split() for i in arr])
>>> new_arr
array([['39,', 'State-gov,', '77516,', 'Bachelors,', '13,',
'Never-married,', 'Adm-clerical,', 'Not-in-family,', 'White,',
'Male,', '2174,', '0,', '40,', 'United-States,', '<=50K'],
['50,', 'Self-emp-not-inc,', '83311,', 'Bachelors,', '13,',
'Married-civ-spouse,', 'Exec-managerial,', 'Husband,', 'White,',
'Male,', '0,', '0,', '13,', 'United-States,', '<=50K']],
dtype='<U19')