2017-03-25 29 views
3

こんにちは、私はpandas列の条件付き選択がどのように機能するのか疑問に思っています。下のコードデータフレーム列の条件付き選択

In [162]: euro16 
Out[162]: {'Goals': [16, 8], 'Team': ['Germany', 'England']} 

In [163]: euro16_df = pd.DataFrame(euro16) 

In [164]: euro16_df[euro16_df.Team == 'Germany'] 
Out[164]: 
    Goals  Team 
0  16 Germany 

しかし、文字列アクセスに関係するチームで条件を試してみると、「すべてのチームが「G」で始まると言ってください。私はKeyErrorを取得しました。ここで何が起きているのかについての情報は大変ありがとうと思います。

euro16_df[euro16_df.Team[0] == 'G'] 

答えて

3

またSTR STARTSWITHをstr文字列アクセサ

euro16_df[euro16_df.Team.str[0] == 'G'] 
+0

ありがとうございます!とても有難い。どのようにそれはアクセサを必要とせずに元の文字列 "ドイツ"と比較することができます。私はこの間ずっとこれを逃して、これについてもっと読むのが大好きです。 – Pradyot

+1

@Pradyotすることができる方法の束があります。パンダは、アクセッサなしで最も重要なものを利用できるようにする良い仕事をしています。そうでなければ、パンダのグループは一緒の方法を好む。日付時刻/時刻のデルタアクセサ「dt」もあります。カテゴリアクセサー 'cat'。 – piRSquared

+0

もう一度。本当に方向を感謝します。 – Pradyot

1

を使用してください。

euro16_df[euro16_df.Team.str.startswith('G')]