【发布时间】:2017-10-01 04:17:58
【问题描述】:
设置
我抓取住房广告数据并使用 pandas 进行分析。我计算了平均统计数据并将它们插入到熊猫数据框中:district_df。
district_df 列之一包含地区名称:district_df['district']。
另一个district_df 列包含分区名称:district_df['subdistrict']
它们看起来像,
district subdistrict
Bergen-Enkheim Bergen-Enkheim
Bornheim/Ostend Bornheim
Bornheim/Ostend Ostend
Harheim Harheim
Innenstadt I Altstadt
Innenstadt I Bahnhofsviertel
Innenstadt I Gallus
Innenstadt II Bockenheim
Innenstadt II Westend-Nord
⋮ ⋮
问题
我从district_df 每个区创建一个区表 (district_table)。 IE。对于以上内容,我创建了五个区表。我通过以下代码做到这一点,
for district in d_set: # d_set is a set containing all district names
district_table = district_df[district_df['district'].str.match(district)]
此代码有效,即:为每个区创建一个表。
但是,Innenstadt II 的表也包含Innenstadt I 的子区域。
在我看来.str.match(district) 不完全匹配,但部分匹配。 IE。 Innenstadt I 将匹配 Innenstadt II。
我的实际 district_df 列包含的内容比我在此处显示的要多 - 各种地区名称都会出现问题。
如何获得完全匹配?
【问题讨论】:
标签: python string pandas match