Предположим, у меня есть файл с именем FARM со следующими данными
pigs 23
horses 10
cows 35
goats 20
sheep 22
chickens 62
roosters 5
Я хотел бы построить эти данные со следующим результатом

Следующий код делает именно то, что я хочу
import matplotlib.pyplot as plt
import numpy as np
a,b = np.genfromtxt('FARM', usecols=(0,1), unpack=True, delimiter=' ', dtype='str')
x=[]
for i in a:
x.append(i)
y=[]
for i in b:
y.append(int(i))
plt.plot(x,y,'s')
plt.show()
Мой вопрос: есть ли прямой способ получить x и y из np.genfromtxt, или мне нужно конвертировать из a и b, как я это сделал?
Если бы можно было установить dtype выборочно для каждого столбца, я бы получил то, что хотел.Но я не смог понять, как это сделать.
После дальнейших размышлений, принимая во внимание комментарии и ответы, я думаю, что более интуитивно понятный способ построения столбцов с разными типами данных из одного файла:сделать два вызова np.genfromtxt, каждый из которых извлекает один столбец, а затем действует обычным образом, следующим образом:
x = np.genfromtxt('FARM', usecols=(0), unpack=True, dtype='str')
y = np.genfromtxt('FARM', usecols=(1), unpack=True, dtype='int')
plt.plot(x,y,'s')
plt.show()
Таким образом, никаких специальных преобразований не требуется.