Разделите данные по столбцам и сохраните их в виде двумерного массива. - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть данные в этой форме:

49907 87063
42003 51519
21301 46100
97578 26010
52364 86618
25783 71775
1617 29096
2662 47428
74888 54550
17182 35976
86973 5323

......

Мне нужно пройти в конце, как for line in file.

Я хочу разделить их, как значения первого столбца, хранящиеся в первом массиве, и значения второго столбца, хранящиеся во втором массиве, поэтому всякий раз, когда я вызываю Array_one[0], Array_two[0], я получаю значения первой строки, такие как 49907 87063 и такие же для других значений.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Вы можете использовать numpy.genfromtxt для извлечения непосредственно в массив numpy:

A = np.genfromtxt(file, dtype=int)

Пробел является разделителем по умолчанию.

Затем можно использовать стандартную numpy индексацию / нарезку:

  • Чтобы извлечь первый ряд: A[0]; второй столбец: A[:, 1].
  • Чтобы извлечь первый элемент из первой строки: A[0, 0].
  • Чтобы извлечь первый элемент из второго столбца: A[0, 1]

Итерация всего массива по строкам:

for i in range(A.shape[0]):
    print(A[i])
0 голосов
/ 25 апреля 2018

Вы можете использовать пробел в качестве разделителя.

Ex:

import pandas as pd
df = pd.read_csv(filename, sep="\s+", names = ["A", "B"])
print(df["A"][0])
print(df["B"][0])

Выход:

49907
87063

for i in df.values:
    print(i)

выход

[49907 87063]
[42003 51519]
[21301 46100]
[97578 26010]
[52364 86618]
[25783 71775]
[ 1617 29096]
[ 2662 47428]
[74888 54550]
[17182 35976]
[86973  5323]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...