我想从列<ImageView
android:layout_width="150dp"
android:layout_height="150dp"
android:id="@+id/imageView2"
android:src="@drawable/logo"
android:layout_marginTop="64dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:adjustViewBounds="false"
android:background="@drawable/circle_shape"
android:clickable="false" />
中提取以H或S为第一个值的行:
feccandid
我正在使用此代码:
cid amount date catcode feccandid
0 N00031317 1000 2010 B2000 H0FL19080
1 N00027464 5000 2009 B1000 H6IA01098
2 N00024875 1000 2009 A5200 S2IL08088
3 N00030957 2000 2010 J2200 S0TN04195
4 N00026591 1000 2009 F3300 S4KY06072
5 N00031317 1000 2010 B2000 P0FL19080
6 N00027464 5000 2009 B1000 P6IA01098
7 N00024875 1000 2009 A5200 S2IL08088
8 N00030957 2000 2010 J2200 H0TN04195
9 N00026591 1000 2009 F3300 H4KY06072
返回错误:
campaign_contributions.loc[campaign_contributions['feccandid'].astype(str).str.extractall(r'^(?:S|H)')]
有使用Regex经验的人是否知道我做错了什么?
答案 0 :(得分:2)
对于这么简单的事情,你可以绕过正则表达式:
relevant = campaign_contributions.feccandid.str.startswith('H') | \
campaign_contributions.feccandid.str.startswith('S')
campaign_contributions[relevant]
但是,如果要使用正则表达式,可以将其更改为
relevant = ~campaign_contributions['feccandid'].str.extract(r'^(S|H)').isnull()
请注意,astype
是多余的,而extract
就足够了。
答案 1 :(得分:1)
为什么不使用str.match
代替提取和否定?
即df[df['col'].str.match(r'^(S|H)')]
(我来到这里寻找相同的答案,但提取物的使用看起来很奇怪,所以我找到了str.ops
的文档。
w ^