这是一个简单的例子。
d=pd.DataFrame({'a':[1,2,3,4],
'b':[6,6,7,8]})
我写了一个函数f(x),我想打印d.x.功能是:
def f(x):
print(d.x)
运行f(a)
。我希望它能打印d.a
但是它返回NameError: name 'a' is not defined
。
我该如何解决?
答案 0 :(得分:4)
您无法以这种方式进行处理,您需要一个通过[
]
获取列的函数,并同时输入一个字符串:
def f(x):
print(d[x])
并称之为:
f('a')
答案 1 :(得分:-1)
如果您尝试通过本地x函数传递数据帧,则必须编写x.a
def f(x):
print(x.a)
但是如果您传递列名,并且dataframe是全局变量,则可以在下面使用
def f(x):
print(d[x])