Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在函数中作为属性传递参数?_Python_Function_Pandas - Fatal编程技术网

Python 在函数中作为属性传递参数?

Python 在函数中作为属性传递参数?,python,function,pandas,Python,Function,Pandas,我正在尝试编写一个函数,将非变量引入函数。我通常不编写函数,但随着我的学习,我正在努力使我的脚本更具python风格,节省时间 例如: source = pd.DataFrame( { 'Name': ['John', 'Mike', 'John', 'John'], 'Year': ['1999', '2000', '2000', '2000'], 'Message': ['I Love You', 'Will Remember You'

我正在尝试编写一个函数,将非变量引入函数。我通常不编写函数,但随着我的学习,我正在努力使我的脚本更具python风格,节省时间

例如:

source = pd.DataFrame(
    {
        'Name': ['John', 'Mike', 'John', 'John'],
        'Year': ['1999', '2000', '2000', '2000'],
        'Message': ['I Love You', 'Will Remember You', 'Love', 'I Love You']
    }
)

def unstack(df, keyword):
    d = (df.keyword.str.split(expand=True).stack)

unstack(source, year)
我想得到的是:

d = (df.year.str.split(expand=True).stack)
我知道向函数传递有效键是很常见的,但我正在尝试让函数接受参数并将其用作键


希望您能理解。

要获得
df
关键字属性,请使用:

getattr(df, keyword)
因此:


但是,最好只是将此作为呼叫约定的一部分:

unstack(df.year)    # suggested convention
而不是

unstack(df, 'year') # practice required by the code above

我不知道你在说什么。什么是“非变量”?对不起,我可能不知道正确的术语。但是这个例子解释得更清楚了。你的意思是想把单词“year”传递到函数中,让函数访问对象的“year”属性吗?对不起,我还是不明白。是否要从unstack函数返回某些内容?否则就没什么用了。线路是否产生错误?顺便说一句,包括您的
导入
s将有助于这是一个完整的、可验证的复制机<代码>将pandas导入为pd
可能是pandas世界的标准惯例,但这并不意味着随机Python人员知道这就是您正在使用的库。(运输一台不需要第三方工具(如熊猫)的复制机会更好)。再见,谢谢。这一课学得很好。
unstack(df, 'year') # practice required by the code above