【发布时间】:2018-01-03 04:48:36
【问题描述】:
我正在查看 pandas DataFrame eval 方法 (docs),我发现它是一个很好的语法糖,也可以帮助 enhancing performances。
这是文档中的示例:
from numpy.random import randn
import pandas as pd
df = pd.DataFrame(randn(10, 2), columns=list('ab'))
df.eval('a + b')
当我的列名中有空格时,如何使用eval?
示例:
df = pd.DataFrame(randn(10, 2), columns=["Col 1", "Col 2"])
我试过了:
df.eval('"Col 1" + "Col 2"')
但这给出了错误:
TypeError: data type "Col 1" not understood
【问题讨论】:
-
由于不是内置方法,DataFrame需要根据Python规则进行限定。您的意思可能是
pd.DateFrame或from pandas import DataFrame? -
@cs95 这怎么可能是这个问题一年后提出的问题的重复?
-
不必按时间顺序询问重复项。我关闭了这个,因为那里有一个答案,解释了如何使用反引号来支持 0.25 中的空格。
-
感谢您的澄清
标签: python pandas dataframe eval