2012-09-24 17 views
31

私はCSVファイルからいくつかの列を取ったpython pandasのデータフレームを持っています。例えばPython Pandasを使ってすべての列をワイルドカード名で検索する

、データ=:

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

そして、何私は必要では...名前がP1で始まるすべての列の合計を取得するには、ワイルドカードを持つP1 *のようなものです。エラーを与える次のような

何か:パンダでこれを行うには、なぜ

P1Sum = data["P1*"]

は、任意のはありますか?

+0

人々がこの質問をd​​ownvoteする何らかの理由はありますか? – catchmeifyoutry

+0

私もそれを取得していません。本当に基本的なことかもしれませんが、私はパンダの文書を検索して何の答えも見つけられませんでした。 – jbssm

+1

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

答えて

43

答えが見つかりました。データを使用して

、質問からのデータフレーム:先端jbssmため

from pandas import * 

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

おかげで、合計を探している誰のために、私は、最後に.sum()を追加することになった:

P1Sum= P1Channels.sum(axis=1).sum()