2012-09-24 28 views
31

Tôi có một khung dữ liệu trong gấu trúc python với một số cột được lấy từ tệp CSV.Tổng hợp tất cả các cột bằng tìm kiếm tên ký tự đại diện bằng Python Pandas

Ví dụ, data =:

Day P1S1 P1S2 P1S3 P2S1 P2S2 P2S3 
1 1 2 2 3 1 2 
2 2 2 3 5 4 2 

Và những gì tôi cần là để có được tổng của tất cả các cột mà tên bắt đầu bằng P1 ... cái gì đó như P1 * với một ký tự đại diện.

giống như sau đó cung cấp cho một lỗi:

P1Sum = data["P1*"]

Có bất kỳ lý do tại sao làm điều này với gấu trúc?

+0

Có lý do nào khiến mọi người downvote câu hỏi này không? – catchmeifyoutry

+0

Tôi cũng không nhận được. Ý tôi là, nó có thể là một điều thực sự cơ bản, nhưng tôi đã tìm kiếm tài liệu về Pandas và không tìm thấy bất kỳ câu trả lời nào. – jbssm

+1

http://pandas.pydata.org/pandas-docs/dev/generated/pandas.DataFrame.filter.html?highlight=filter#pandas.DataFrame.filter –

Trả lời

43

Tôi đã tìm thấy câu trả lời.

Sử dụng dữ liệu, dataframe từ câu hỏi:

from pandas import * 

P1Channels = data.filter(regex="P1") 
P1Sum = P1Channels.sum(axis=1) 
0

Cảm ơn jbssm tip, cho bất cứ ai khác tìm kiếm một tổng, tôi đã kết thúc thêm .sum() ở cuối, vì vậy:

P1Sum= P1Channels.sum(axis=1).sum() 
Các vấn đề liên quan