我想从熊猫数据帧中筛选不遵循特定模式的字符串。但我只得到一个空的数据帧
我的代码
l = ['Dubai', 'St. Petersburg', 'Aachen', '21323', '123134', 'Klaus@facebook.com']
l = pd.DataFrame(l)
pattern = re.compile("([A-Z])\w+|(\w[A-Z\u00E4-\u02AF])\w+", re.UNICODE)
df = l.filter(regex=pattern)
print(df)
输出:
Empty DataFrame
Columns: []
Index: [0, 1, 2, 3, 4, 5]
预期产出:
0
0 Dubai
1 St. Petersburg
2 Aachen
3 None
4 None
5 None
df.filter()
方法根据行/列的名称而不是其内容进行筛选;如文档中所述:“请注意,此例程不会对数据框的内容进行筛选。此筛选应用于索引的标签。”要执行所需操作,您可以定义这样一个函数来进行模式匹配:
然后将其传递给
.loc[]
:现在,df应该只包含列'column_name'与给定模式匹配的行
您可以在this article中看到一个示例
相关问题 更多 >
编程相关推荐