Hướng dẫn python extract number from array - số trích xuất python từ mảng

5

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi có một mảng 1D 8000 phần tử.

Tôi muốn có được hai mảng sau:

  1. test chứa phần tử với chỉ số từ [1995:1999], [3995:3999], [5999:5999],

    train = [X[i] for i, _ in enumerate(X) if i not in idx]
    
    0.

  2. train = [X[i] for i, _ in enumerate(X) if i not in idx]
    
    1 nên chứa mọi thứ khác.

Làm thế nào tôi nên làm điều đó?


idx = [1995,1996,1997,1998, 1999, 3995, 3996, 3997,3998, 3999, 5995, 5996, 5997, 5998, 5999, 7995, 7996, 7997, 7998, 7999]
test = [X[i] for i in idx]

train = [X[i] for i **not** in idx]

Hướng dẫn python extract number from array - số trích xuất python từ mảng

Khi được hỏi ngày 22 tháng 5 năm 2017 lúc 2:56May 22, 2017 at 2:56

4

Dựa trên ví dụ của bạn, một cách giải quyết đơn giản sẽ là thế này:

train = [X[i] for i, _ in enumerate(X) if i not in idx]

Đã trả lời ngày 22 tháng 5 năm 2017 lúc 3:10May 22, 2017 at 3:10

Hướng dẫn python extract number from array - số trích xuất python từ mảng

Arya McCarthyarya McCarthyArya McCarthy

8.2133 Huy hiệu vàng31 Huy hiệu bạc54 Huy hiệu đồng3 gold badges31 silver badges54 bronze badges

Tôi có vẻ như bạn đang tìm kiếm

train = [X[i] for i, _ in enumerate(X) if i not in idx]
2, đây là một ví dụ đơn giản để bạn bắt đầu:

In [18]: import numpy as np

In [19]: a = np.array([[0,3],[1,2],[2,3],[3,2],[4,5],[5,1]])

In [20]: a[np.where((a[:, 0] > 1) & (a[:, 0] < 5))[0]]
Out[20]: 
array([[2, 3],
       [3, 2],
       [4, 5]])

In [21]: a[np.where(~((a[:, 0] > 1) & (a[:, 0] < 5)))[0]]
Out[21]: 
array([[0, 3],
       [1, 2],
       [5, 1]])

Phần tử đầu tiên trong hàng có thể là chỉ mục của bạn và thứ hai giá trị của bạn.

train = [X[i] for i, _ in enumerate(X) if i not in idx]
2 Kiểm tra xem điều kiện là
train = [X[i] for i, _ in enumerate(X) if i not in idx]
4 hay
train = [X[i] for i, _ in enumerate(X) if i not in idx]
5 và trả về một nhị phân
train = [X[i] for i, _ in enumerate(X) if i not in idx]
6 (thực sự là tuple của mảng), một khi chúng ta có mảng nhị phân, chúng ta có thể lập chỉ mục mảng gốc dựa trên đó.

Đã trả lời ngày 22 tháng 5 năm 2017 lúc 3:12May 22, 2017 at 3:12

Hướng dẫn python extract number from array - số trích xuất python từ mảng

AkavallakavallAkavall

78.7K47 Huy hiệu vàng199 Huy hiệu bạc244 Huy hiệu Đồng47 gold badges199 silver badges244 bronze badges

Nếu bạn muốn, bạn có thể sử dụng mặt nạ

mask = np.ones(len(X), dtype=bool)
mask[idx] = False
train = X[mask]
test = X[idx]

# you can also use this for test
test = X[np.logical_not(mask)]

Đã trả lời ngày 22 tháng 5 năm 2017 lúc 3:20May 22, 2017 at 3:20

Hướng dẫn python extract number from array - số trích xuất python từ mảng

GergesgergesGerges

5.9892 Huy hiệu vàng20 Huy hiệu bạc38 Huy hiệu Đồng2 gold badges20 silver badges38 bronze badges

1

Khi xây dựng

train = [X[i] for i, _ in enumerate(X) if i not in idx]
1, bạn cần lặp lại tất cả dữ liệu nguồn của mình.

Sử dụng

train = [X[i] for i, _ in enumerate(X) if i not in idx]
8 sẽ làm cho mọi thứ trở nên dễ dàng:

>>> data = list(range(8000))
>>> train, test = [], []
>>> for i, value in enumerate(data):
...     if 1995 <= i <= 1999 or 3995 <= i <= 3999 or 5995 <= i <= 5999 or 7995 <= i <= 7999:
...         test.append(value)
...     else:
...         train.append(value)
...
>>> test
[1995, 1996, 1997, 1998, 1999, 3995, 3996, 3997, 3998, 3999, 5995, 5996, 5997, 5998, 5999, 7995, 7996, 7997, 7998, 7999]
>>> len(train)
7980

Đã trả lời ngày 22 tháng 5 năm 2017 lúc 3:28May 22, 2017 at 3:28

Nhập ngẫu nhiên ngẫu nhiênimport random

2.6411 Huy hiệu vàng15 Huy hiệu bạc20 Huy hiệu Đồng1 gold badge15 silver badges20 bronze badges

Đây là một khả năng, giả sử

train = [X[i] for i, _ in enumerate(X) if i not in idx]
6 là tên của danh sách chứa 8000 yếu tố:

idx = {1995, 1996, 1997, 1998, 1999, 3995, 3996, 3997, 3998, 3999, 5995, 5996, 5997, 5998, 5999, 7995, 7996, 7997, 7998, 7999}

test = [array[x] for x in idx]

train = [x for i, x in enumerate(array) if i not in idx]

Đã trả lời ngày 22 tháng 5 năm 2017 lúc 3:11May 22, 2017 at 3:11

Hướng dẫn python extract number from array - số trích xuất python từ mảng

Jacob G.Jacob G.Jacob G.

28.1K5 Huy hiệu vàng57 Huy hiệu bạc110 Huy hiệu đồng5 gold badges57 silver badges110 bronze badges

Làm thế nào để bạn trích xuất một phần tử từ một mảng trong Python?

Chúng ta có thể hoàn thành nhiệm vụ này bằng một trong các tùy chọn sau:..
Phương pháp 1: Sử dụng cắt ..
Phương pháp 2: Sử dụng chỉ số danh sách ..
Phương pháp 3: Sử dụng danh sách hiểu ..
Phương pháp 4: Sử dụng danh sách hiểu với điều kiện ..
Phương pháp 5: Sử dụng Enumerate ().
Phương pháp 6: Sử dụng mảng numpy ().

Làm thế nào để bạn trích xuất các số từ một danh sách trong Python?

Tóm tắt: Để trích xuất số từ một chuỗi đã cho trong Python, bạn có thể sử dụng một trong các phương thức sau:..
Sử dụng mô -đun Regex ..
Sử dụng các hàm split () và append () trong danh sách ..
Sử dụng danh sách hiểu với các hàm isDigit () và split () ..
Sử dụng mô -đun Num_From_String ..

Làm thế nào để bạn trích xuất một phần tử từ một mảng?

Trích xuất các yếu tố từ mảng..
Nhấp đúp vào phần tử trích xuất từ các mảng trong danh sách nhiệm vụ ..
Vẽ một đầu nối giữa một nút đầu vào mảng và các phần tử trích xuất từ nút mảng.....
Nhấp vào nút trong các phần tử trích xuất từ nút mảng ..

Làm thế nào để bạn tìm thấy số trong một python mảng?

Python có một phương thức để tìm kiếm một phần tử trong một mảng, được gọi là index ().Nếu bạn sẽ chạy x.chỉ mục ('p') bạn sẽ nhận được bằng không làm đầu ra (chỉ mục đầu tiên).index(). If you would run x. index('p') you would get zero as output (first index).