Python:如何只保留pandas列中的特定值?

时间:2017-01-12 16:07:56

标签: python string pandas

我有一个数据框Reduce(function(x, y) merge(x, y, all=TRUE), list1) ,如下所示

df

其中df: zip-code 0 00234 1 23450 2 23450 3 10786 4 0 5 xyzvd 。我想只保留type(df['zip-code']) = str值并删除所有其余值。

2 个答案:

答案 0 :(得分:5)

您可以将str.match与正则表达式一起使用:

df[df['zip-code'].str.match("^\d{5}$")]

#zip-code
#0  00234
#1  23450
#2  23450
#3  10786

答案 1 :(得分:2)

z = df['zip-code']
df[z.str.len().eq(5) & z.str.isdigit()]

  zip-code
0    00234
1    23450
2    23450
3    10786