python - 如何使用 .isin 进行子集化(似乎无法正常工作)?
问题描述
我是莫斯科国立大学的学生,我正在做一项关于郊区铁路的小型研究。我从维基百科爬取了有关莫斯科地区所有车站的信息,现在我需要对这些车站进行子集化,即莫斯科中央直径 1(铁路线)车站。我有一个直径 1 站 (d1_names) 的列表,我想做的是使用 isin pandas 方法从整个数据帧 (suburban_rail) 中提取子集。问题是它只返回 2 个站点(第一个和最后一个),尽管我很确定还有更多,因为使用 str.contains 和不存在的站点会返回我正在寻找的内容(所以它们在数据框中) . 我已经检查了拼写并尝试将 strip() 应用于数据框和站点列表的每个元素。附上我的代码的几个屏幕截图。
提前致谢!
解决方案
下次提供一个最小的可重现示例,例如以下示例:
suburban_rail = pd.DataFrame({'station_name': ['a','b','c','d'], 'latitude': [1,2,3,4], 'longitude': [10,20,30,40]})
d1_names = pd.Series(['a','c','d'])
suburban_rail
station_name latitude longitude
0 a 1 10
1 b 2 20
2 c 3 30
3 d 4 40
现在,回答你的问题:使用.loc
问题解决了:
suburban_rail.loc[suburban_rail.station_name.isin(d1_names)]
station_name latitude longitude
0 a 1 10
2 c 3 30
3 d 4 40
推荐阅读
- c# - Microsoft.AspNetCore.Antiforgery.DefaultAntiforgery[7] 错误
- vba - 用于在 LibreCalc 中创建图表的宏 VBA,如何将标题、图例和图表主体定位到图表区域
- android - Google Play 扩展 APK
- 3d - 围绕另一个 3D 点旋转 3D 点
- c# - 基于 ASP.Net Core 弹出式身份验证?
- amazon-web-services - 在哪里保存 html 页面所需的 AWS 开发工具包配置凭证
- julia - 如何创建测试特定的 Julia 项目依赖项?
- django-rest-framework - Django Rest Framework - 如何验证来宾用户?
- django - 记录硬错误(例如 500)不起作用
- cmake - 使用 cmake 构建时禁用 RtMidi 示例