【发布时间】:2019-07-28 10:16:12
【问题描述】:
我有一个奇怪的互动需要帮助。基本上:
1) 我创建了一个包含 1179 行 x 6 列的 pandas 数据框。一列是街道名称,相同的值会有多个重复项(因为每一行代表一个点,每个点都与一条街道相关联)。
2) 我还有这个熊猫数据框中所有街道的列表。
3)如果我运行这一行,我会得到与该街道名称匹配的所有行的输出:
print(sub_df[sub_df.AQROUTES_3=='AvenueMermoz'])
结果:
FID AQROUTES_3 ... BEARING E_ID
983 983 AvenueMermoz ... 288.058014
984 984 AvenueMermoz ... 288.058014
992 992 AvenueMermoz ... 288.058014
1005 1005 AvenueMermoz ... 288.058014
1038 1038 AvenueMermoz ... 288.058014
1019 1019 AvenueMermoz ... 288.058014
但是,如果我在循环中使用列表中的字符串作为街道名称运行此命令,它会返回一个空数据框:
x=()
for names in pd_streetlist:
print(names)
x=names
print(sub_df[sub_df.AQROUTES_3 =="'"+str(x)+"'"])
x=()
返回:
RangSaint_Joseph
Empty DataFrame
Columns: [FID, AQROUTES_3, X, Y, BEARING, E_ID]
Index: []
AvenueAugustin
Empty DataFrame
Columns: [FID, AQROUTES_3, X, Y, BEARING, E_ID]
Index: []
等等……
我不知道为什么。有人有想法吗?
谢谢
【问题讨论】:
-
您无需在此处添加引号:
sub_df[sub_df.AQROUTES_3 =="'"+str(x)+"'"]。这将在字符串中查找带有实际引号的字符串。您可能也不需要将其转换为字符串,因为我想它已经是字符串了。