使用pandas eval创建带空格目标列名异常,能否正常实现该需求?
用pandas eval复制带空格列名的解决方案
可以通过eval实现需求,问题出在目标列名的引号使用方式上:
- 之前用反引号包裹目标列名
m 2会触发pandas内部解析异常,生成错误列名BACKTICK_QUOTED_STRING_m_2。正确写法是用双引号或单引号包裹目标列名,同时保留源列的反引号:
或df.eval('"m 2" = `m 1`')df.eval("'m 2' = `m 1`") - 执行后会正确生成列名为
m 2的新列,内容与m 1完全一致。 - 若使用pandas 1.5及以上版本,也可采用括号包裹目标列名的写法:
df.eval('(`m 2`) = `m 1`')
内容的提问来源于stack exchange,提问作者RatDon
相关产品推荐
相关产品推荐

