如何编写一个接受变量并使用变量名称将其指定为字符串的函数?
def one_function(dataframe):
<does some numeric operation...>
print('dataframe')
所以例如
df_wow=pd.DataFrame([1,2,3])
one_function(df_wow)
'df_wow'
Different_data_frame=pd.DataFrame([99,98,100])
one_function(Different_data_frame)
'Different_data_frame'
修改
在做了一些更多的研究以及评论和回复之后,我得出的结论是,它无法完成。 我通过传递另一个论点来解决这个问题
def one_function(dataframe,name_arg):
<does some numeric operation...>
print(name_arg)
我的最终目标实际上是命名数据框的索引。所以实际上我最后编写了以下函数
def one_function(dataframe,name_arg):
<does some numeric operation...>
dataframe.index.name=name_arg
return(dataframe)
答案 0 :(得分:1)
不,你不能,在传递参数时,只将参数的值传递(复制)到函数中。
但是,如果使用关键字参数,则可以实现类似的功能:
In [1]: def one_function(**kwargs):
...: print(kwargs.keys()[0])
...:
In [2]: one_function(foo=5)
foo
此示例打印一个(随机)参数,如果您有多个参数,则可以遍历.keys()
列表并打印全部或随意执行任何操作。