2012-04-18 49 views
5

Tôi có dữ liệu tổng hợp bằng cách sử dụng khung dữ liệu gấu trúc. Dưới đây là một số dữ liệu thực tế được hiển thị và cách tôi tổng hợp dữ liệu đó.gấu trúc tổng hợp dữ liệu vào một mảng sumpy: chuyển đổi cấu trúc dữ liệu

fdf.groupby(['row',col'])['percent'].sum()

http://pastebin.com/R8XWpgtU

Những gì tôi muốn làm là tạo một mảng NumPy 2d này (rows = hàng, cột = col). Bất kỳ cách nào khéo léo để làm điều này?

Một cách tôi đã làm một cái gì đó tương tự như đã tạo ra một bảng pivot

pivot_table(fdf,values='percent',rows='row',cols='col', aggfunc=np.sum)

Trong trường hợp này, tôi muốn chuyển đổi pivot table này để 2ngày mảng NumPy. Có cách nào để tôi lập chỉ mục vào mỗi ô của bảng này không. Nếu vậy thì tôi có thể sẽ được Ok với bảng chính nó.

Trả lời

6

Hãy thử:

result = fdf.groupby(['row',col'])['percent'].sum() 
result.unstack('col').values 

Cách khác:

fdf.pivot_table('percent', rows='row', cols='col', aggfunc='sum').values 
Các vấn đề liên quan