Geopandas以及CMakeList程序编写技巧

Geopandas官方文档

Geopandas官方文档

reset_index()函数

pandas库中的reset_index()函数是用于重新设置数据框索引的方法。

例如:当我对于文件数据进行了一系列操作后,例如设置了索引set_index,那么会导致数据的索引框发生变化,原来的整数索引,变成了自定义索引,通过reset_index()函数能够重新设置索引,将更改的索引进行还原。生成原来的整数索引的形式。

import pandas as pd
 
# 创建一个示例DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35],
        'City': ['New York', 'San Francisco', 'Los Angeles']}
df = pd.DataFrame(data)
 
# 将 'Name' 列设置为索引
df.set_index('Name', inplace=True)
print(df)
 
# 重置索引,默认情况下将索引添加为新的列
reset_df = df.reset_index()
print(reset_df)

reset_index()函数使用

 CMakeList项目配置

我跑的项目是Fast Map Matching,这里在配置FMM.CPP项目的CMakeList.txt里面,

我首先将CMAKE_BUILD_TYPE 改成了DEBUG模式,

这里解释以下CMakeList中涉及的关键字参数:

set(CMAKE_BUILD_TYPE "Debug")
#CMAKE_BUILD_TYPE:构建模式
set(CMAKE_CXX_FLAGS "-O3 -DSPDLOG_ACTIVE_LEVEL=SPDLOG_LEVEL_TRACE")
#CMAKE_CXX_FLAGS: set compiler for c++ language 添加C++的标准支持 "-O3:表示用来调节编译时的优化程度的,最高为-O3,最低为-O0"-Ox这个参数只有在CMake -DCMAKE_BUILD_TYPE=Release时有效,因为debug 版的项目生成的可执行文件需要有调试信息并且不需要进行优化,而 release 版的不需要调试信息但需要优化。
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/build")
#!!CMAKE_CURRENT_SOURCE_DIR:当前源码路径    (fmm/build = CMAKE_RUNTIME_OUTPUT_DIRECTORY    |    CMAKE_CURRENT_SOURCE_DIR = fmm)
#PROJECT_SOURCE_DIR:项目源码路径,即初始化project的CMakeLists.txt所在路径
#PROJECT_BINARY_DIR:项目输出路径,通常是./build路径
set(CMAKE_C_STANDARD_REQUIRED ON)
#CMAKE_C_STANDARD_REQUIRED:在启用语言时检查编译器是否支持该标准
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
#安装路径(在Configure阶段配置):CMAKE_INSTALL_PREFIX

项目配置变量

这里我将Release设置成为Debug模式

#set(CMAKE_BUILD_TYPE "Release")
set(CMAKE_BUILD_TYPE "Debug")
修改后-O3改成-Wall -O0 
set(CMAKE_CXX_FLAGS "-Wall -O0 -DSPDLOG_ACTIVE_LEVEL=SPDLOG_LEVEL_TRACE")
#set(CMAKE_CXX_FLAGS "-O3 -DSPDLOG_ACTIVE_LEVEL=SPDLOG_LEVEL_TRACE")

讲解

  • Debug 调试模式:不优化,生成调试信息-g -O0
  • Release 发布模式:最优化,性能最佳 -O3 -DNDEBUG
  • 这里我出现了一个问题:在程序执行阶段,Reloading CMakeList的时候,并没有考虑Release -03,这也就导致了在debug代码的时候,程序自动跳过断点,并且在断点阶段出现如下图所示的图标,如果大家遇到类似的问题,可以作为一种修改的参考:
  • 大佬博客参考
  • MinSizeRel 最小体积发布 :生成项目文件小,性能优化不完全 -Os -DNDEBUG
  • RelWithDebInfo 带调试信息发布 -O2 -g -DNDEBUG
  • 一些cmakelist常识 用到在学
  • 23
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值