2015-10-23 50 views

Trả lời

1

Bạn đang tìm thông số axis. Nhiều hàm Pandas lấy đối số này để áp dụng một phép toán trên các cột hoặc trên các hàng. Sử dụng axis=0 để áp dụng hàng khôn ngoan và axis=1 để áp dụng cột khôn ngoan. Thao tác này thực sự đi ngang qua các cột, vì vậy bạn muốn axis=1.

df.cumsum(axis=1) tự nó hoạt động trên ví dụ của bạn để tạo ra bảng đầu ra.

In [3]: df.cumsum(axis=1) 
Out[3]: 
     1 2 3 4 
10 16 30 41 61 
51 13 29 40 50 
13 11 30 45 61 
321 12 27 37 52 

Tôi cho rằng bạn quan tâm đến việc hạn chế một phạm vi cột cụ thể. Để làm điều đó, bạn có thể sử dụng .loc với các nhãn cột (chuỗi trong mỏ).

In [4]: df.loc[:, '2':'3'].cumsum(axis=1) 
Out[4]: 
     2 3 
10 14 25 
51 16 27 
13 19 34 
321 15 25 

.loc là dựa trên nhãn và bao gồm giới hạn. Nếu bạn muốn tìm hiểu thêm về lập chỉ mục trong Pandas, hãy kiểm tra số docs.

2

Bạn muốn axis=1 để tổng hợp qua các hàng.

df.cumsum(axis=1) 

Side-note - làm [1:4] lát các hàng theo mặc định (ví dụ: NumPy hoặc danh sách giống như ngữ nghĩa). Nếu bạn muốn chọn cột theo nhãn, hãy sử dụng df.loc[:, 1:4]

Các vấn đề liên quan