2014-10-11 29 views
6

Tôi đã tạo khung dữ liệu gấu trúc và sau đó chuyển đổi nó thành bảng tổng hợp.Thêm cột được tính vào bảng tổng hợp pandas

bảng pivot của tôi trông như thế này:

Operators TotalCB  Qd(cb) Autopass(cb) 
Aircel India 55  11  44 
Airtel Ghana 20  17  3 
Airtel India 41   9  9 
Airtel Kenya 9   4  5 
Airtel Nigeria 24  17  7 
AT&T USA  18  10  8 

tôi đã tự hỏi làm thế nào để thêm các cột tính toán sao cho tôi nhận được bảng pivot của tôi với Autopass% (Autopass(cb)/TotalCB*100) giống như chúng tôi có thể tạo ra chúng trong Excel sử dụng tùy chọn trường được tính toán.

Tôi muốn đầu ra bảng pivot của tôi là một cái gì đó như dưới đây:

Operators TotalCB  Qd(cb) Autopass(cb) Qd(cb)% Autopass(cb)% 
Aircel India 55   11 44    20%  80% 
Airtel Ghana 20   17  3    85%  15% 
Airtel India 41   29  9    71%  22% 
Airtel Kenya  9   4  5    44%  56% 
AT&T USA  18   10  8    56%  44% 

Làm thế nào để xác định các chức năng mà tính toán các cột tỷ lệ và cách áp dụng chức năng đó để hai cột của tôi cụ thể là Qd(cb)Autopass(cb) để cung cấp cho tôi thêm cột tính toán

+0

bạn đã thử viết bất kỳ mã nào chưa? –

+4

Rõ ràng một số mã đã được viết @Tony: Bạn không đến giai đoạn tạo bảng tổng hợp trong gấu trúc mà không cần một số mã. Nhận xét của bạn không hữu ích. –

+0

Cảm ơn Oxinabox. @Tony Có Tôi đã nhập dữ liệu bằng cách sử dụng read_csv vào một khung dữ liệu và sử dụng hàm pivot_table để tạo bảng tổng hợp. – Pynewbie

Trả lời

2

này nên làm điều đó, giả sử data được dataframe xoay vòng của bạn:

data['Autopass(cb)%'] = data['Autopass(cb)']/data['TotalCB'] * 100 
data['Qd(cb)%'] = data['Qd(cb)']/data['TotalCB'] * 100 

Việc thêm một cột mới vào một khung dữ liệu đơn giản là df['colname'] = new_series. Ở đây chúng ta gán nó với hàm được yêu cầu của bạn, khi chúng ta thực hiện nó như là một hoạt động vectơ, nó tạo ra một chuỗi mới.

+0

Cảm ơn Korem nó đã làm việc :). Đánh giá cao thời gian và công sức của bạn – Pynewbie

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