我有一些有多个实例的遗留代码,就像这样...
result = function(df['a'], df['b'], df['z'])
该函数接受 *args
所以我想知道是否可以通过以下方式来 "整理 "代码......
result = function(df[['a','b','z']].iteritems())
但是 iteritems()
返回一个 (name, Series)
对,所以不能用。
有没有一种 "整洁 "的方法来获取列表中的 Series
只? (不对,不 name
)
(改变功能并不理想,它的设计是为了与Scalars和Arrays一起工作,由于Series是ArrayLike,它们也可以工作。 所以我只是 "希望 "有一个单独的Series列表......)
我最好的尝试只是让Series作为Arrays来代替,但我 "不喜欢 "它,因为多个实例的锅炉模板代码,感觉 "应该 "有一个直接的方法来迭代Series?
result = function(*(df[['a','b','z']].to_numpy().T))
循环浏览一个 Dataframe
返回一个列名列表,所以你可以使用列表理解。
function(*[df[i] for i in df[["a","b","z"]]])