假设我有一个熊猫数据帧像这样删除行:使用正则表达式从熊猫数据帧
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
假设我有一个熊猫数据帧像这样删除行:使用正则表达式从熊猫数据帧
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
使用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
正则表达式不是必需的。只是检查的第一个字母:
df[df.Word.str[0] != 'Y']
使用lower
和startswith
得到大写字母 '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