Python 在函数中作为属性传递参数?
我正在尝试编写一个函数,将非变量引入函数。我通常不编写函数,但随着我的学习,我正在努力使我的脚本更具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'
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