cuốn sách gpt4 ai đã làm

python — Liệt kê các cụm dữ liệu phân loại trong DataFrame

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 02:00:08 26 4
mua khóa gpt4 Nike

Tôi có một DataFrame trông như thế này:

    col1 col2 col3
0 0 chuỗi(0) loại B
1 1 chuỗi(1) loại B
2 2 chuỗi(2) loại B
3 3 chuỗi(3) loại B
4 4 chuỗi(4) loại A
5 5 chuỗi(5) loại A
6 6 chuỗi(6) loại A
7 7 chuỗi(7) loại A
8 8 chuỗi(8) loại A
9 9 chuỗi(9) loại A
10 10 chuỗi(10) loại A
11 11 chuỗi(11) loại A
12 12 chuỗi(12) loại B
13 13 chuỗi(13) loại B
14 14 chuỗi(14) loại A
15 15 chuỗi(15) loại A
16 16 chuỗi(16) loại A
17 17 chuỗi(17) loại A
18 18 chuỗi(18) loại A
19 19 chuỗi(19) loại A
20 20 chuỗi(20) loại A
21 21 chuỗi(21) loại B
22 22 chuỗi(22) loại B
23 23 chuỗi(23) loại B
24 24 chuỗi(24) loại A
25 25 chuỗi(25) loại A
26 26 chuỗi(26) loại A
27 27 chuỗi(27) loại A
28 28 chuỗi(28) loại A
29 29 chuỗi (29) loại A

Tôi đang tìm cách hiệu quả nhất để trích xuất một loại cụ thể từ col3 và liệt kê chúng theo cách này:

    col1 col2 col3 col4
0 0 chuỗi(0) loại B 0
1 1 chuỗi(1) loại B 0
2 2 chuỗi(2) loại B 0
3 3 chuỗi(3) loại B 0
12 12 chuỗi(12) loại B 1
13 13 chuỗi(13) loại B 1
21 21 chuỗi(21) loại B 2
22 22 chuỗi(22) loại B 2
23 23 chuỗi(23) loại B 2

Bảng liệt kê là các cụm dựa trên loại. Ví dụ: 0 trong col4 đại diện cho cụm B lớp 0. Cảm ơn trước sự giúp đỡ của mọi người

EDIT: Mã để tạo DataFrame trên như sau:

nhập gấu trúc dưới dạng pd
n=30
df = pd.DataFrame({'col1': [i for i in range(n)],
'col2': [f'string({i})' cho i trong phạm vi(n)]}
)

df['col3'] = 'loại A'
df['col3'].iloc[[0,1,2,3,12,13,21,22,23]] = 'loại B'#tạo col3

câu trả lời hay nhất

Đầu tiên và không bằngSeries.neSo sánh với Sê-ri.shiftChỉnh sửa giá trị, sau đó lọc và thêm Series.cumsumĐối với các nhóm:

df['col4'] = df['col3'].ne(df['col3'].shift())
df = df[df['col3'] == 'loại B']
df['col4'] = df['col4'].cumsum() - 1
print (df)
col1 col2 col3 col4
0 0 chuỗi(0) loại B 0
1 1 chuỗi(1) loại B 0
2 2 chuỗi(2) loại B 0
3 3 chuỗi(3) loại B 0
12 12 chuỗi(12) loại B 1
13 13 chuỗi(13) loại B 1
21 21 chuỗi(21) loại B 2
22 22 chuỗi(22) loại B 2
23 23 chuỗi(23) loại B 2

Về python - liệt kê các cụm dữ liệu phân loại trong DataFrame, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/55878231/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress