选择特定列所包含的行是两个字符长

时间:2016-09-01 20:34:33

标签: python pandas dataframe

我知道如何在特定列中按值选择行。例如:

df.loc[df['column_name'] == some_value]

如何修改它以使列值正好是两个大写字母。例如。 AB或FZ。

1 个答案:

答案 0 :(得分:4)

您可以使用.str.match()方法:

In [55]: df
Out[55]:
     col
0     xy
1    ABC
2     ZS
3  AAAAA
4     XC

In [56]: df.col.str.match(r'^[A-Z]{2}$')
Out[56]:
0    False
1    False
2     True
3    False
4     True
Name: col, dtype: bool

In [57]: df[df.col.str.match(r'^[A-Z]{2}$')]
Out[57]:
  col
2  ZS
4  XC