python - 遍历 Dataframe 列
问题描述
我有一个带有一堆列的数据框,看起来像这样
City1, City2, Cord_City1
LA LA 10,12
LA SF 10,12
LA SD 10,12
SF LA 11,13
SD SF 12,14
我有城市 1 的所有坐标的值,城市 2 中的所有城市都包含在城市 1 内
现在我想使用我已经拥有的坐标制作一列坐标 City 2
所以新表应该是这样的(SF coord = 11,13 and SD Coord = 12,14)
City1, City2, Cord_City1, Cord_City2
LA LA 10,12 10,12
LA SF 10,12 11,13
LA SD 10,12 12,14
SF LA 11,13 10,12
SD SF 12,14 11,13
我将如何遍历 city2 列然后遍历 city 1 列并从 cord_city1 返回坐标?
解决方案
使用 City1 和 Cord_City1 作为字典,这样:
key = Cord and Value = City
dict_cords = pd.Series(df.Cord_City1.values,index=df.City1).to_dict()
你得到:
{'LA': '10,12', 'SF': '11,13', 'SD': '12,14'}
创建 Cord_City2:
df['Cord_City2'] = df['City2'].map(dict_cords)
你会得到想要的结果:
City1 City2 Cord_City1 Cord_City2
0 LA LA 10,12 10,12
1 LA SF 10,12 11,13
2 LA SD 10,12 12,14
3 SF LA 11,13 10,12
4 SD SF 12,14 11,13
推荐阅读
- python - 创建 Csv Dataframe 时用分号替换逗号
- angular - 我无法使用 BehaviorSubject 正确配置 Angular 服务测试以发出状态对象
- azure - 如何使 azure external.metrics.k8s 适配器工作?
- reactjs - 不清楚 React Pixi 的“withPixiApp”的含义/用法
- laravel - laravel 6.0 belongsTo 与 ApplicationService
- django - django中的多数据库实现
- c++ - 不能在 Catch 测试中使用重载比较运算符
- python - 使用 Python 在 Windows 中运行 linux 可执行文件
- apache-spark - 在 spark 中读取多个 csv 文件时跳过多行标题
- jenkins - Kubernetes部署后如何访问应用程序