2017-03-26 9 views
1

列Aで最後の単語が 'oo'の列から行を選択したいのですがどうすればいいですか?パンダの列の値の最後の文字に基づいてDataFrameから行を選択

私はリンクを介して行ってきました: - Select rows from a DataFrame based on values in a column in pandas

私が試した: - これは私が5番目の行を取得しようとする必要がありますどのように私は、エントリ

 A  B C D 
0 foo one 0 0 
2 foo two 2 4 
4 foo two 4 8 
7 foo three 7 14 

でDATAFRAME与えている

import pandas as pd 
import numpy as np 
df = pd.DataFrame({'A': 'foo bar foo baroo foos bar foo foo'.split(), 
        'B': 'one one two three two two one three'.split(), 
        'C': np.arange(8), 'D': np.arange(8) * 2}) 
print(df) 
#  A  B C D 
# 0 foo one 0 0 
# 1 bar one 1 2 
# 2 foo two 2 4 
# 3 bar three 3 6 
# 4 foo two 4 8 
# 5 baroo two 5 10 
# 6 foos one 6 12 
# 7 foo three 7 14 

print(df.loc[df['A'] == 'foo']) 

私が持っている他の行と一緒に? 予想される出力: -

 A  B C D 
0 foo one 0 0 
2 foo two 2 4 
4 foo two 4 8 
5 baroo two 5 10 
7 foo three 7 14 

答えて

4

私はそれをこのようにしてください:

df[df.A.str.endswith('oo')] 
0

あなたはブール演算子に

print(df.loc[(df.A == 'foo')|(df.A =='baroo') , :]) 
を使用することができます
関連する問題