2017-08-03 62 views
0

假設我有一個熊貓數據幀像這樣刪除行:使用正則表達式從熊貓數據幀

  Word  Rating 
    0  Bear  1 
    1  Yuck  2 
    2  Girl  3 
    3  Yellow 4 

如何使用在熊貓正則表達式來篩選出具有以字母開頭的單詞的行「y」但保持數據幀格式?我知道正則表達式模式將是R 「\ B [^ Y] \ w + \ b」 的

預期輸出:

  Word Rating 
    0 Bear 1 
    2 Girl 3 

回答

1

使用startswith

In [1187]: df[~df.Word.str.startswith('Y')] 
Out[1187]: 
    Word Rating 
0 Bear  1 
2 Girl  3 

或者說,正則表達式match

In [1203]: df[df.Word.str.match('^[^Y]')] 
Out[1203]: 
    Word Rating 
0 Bear  1 
2 Girl  3 
0

正則表達式不是必需的。只是檢查的第一個字母:

df[df.Word.str[0] != 'Y'] 
0

使用lowerstartswith得到大寫字母 'Y' 和小寫的 'y':

df[~df.Word.str.lower().str.startswith('y')] 

輸入:

df 

    Word Rating 
0 Bear  1 
1 Yuck  2 
2 Girl  3 
3 Yellow  4 
4  yes  5 
5 color  6 

輸出:

Word Rating 
0 Bear  1 
2 Girl  3 
5 color  6