選擇數據我有這樣使用正則表達式
import pandas as pd
df = pd.DataFrame({'a': ['abc', 'r00001', 'r00010', 'rfoo', 'r', 'r1234'], 'b': range(6)})
a b
0 abc 0
1 r00001 1
2 r00010 2
3 rfoo 3
4 r
5 r1234 5
我現在要選擇該數據幀,其中在列a
啓動項與r
其次是五個數字的所有列的數據幀。
From here我學會了一會怎麼做,如果它開始只是r
沒有數字:
print df.loc[df['a'].str.startswith('r'), :]
a b
1 r00001 1
2 r00010 2
3 rfoo 3
4 r
5 r1234 5
像這樣的事情
print df.loc[df['a'].str.startswith(r'[r]\d{5}'), :]
做當然不行的。如何正確地做到這一點?
這樣的作品,upvoted。 – Cleb
由於'str.match'正在使用're.match',因此模式可以更改爲''r \ d {5}'',因爲它默認匹配從字符串的開始處 – EdChum
不是原始文章的一部分,但現在如何排除超過5個數字(或任何其他字符)的數字? – Cleb