Chain方法使用调用for循环



我有一个名为Bar的类对象,我将其作为属性具有不同的风格pd.DataFrame。我想通过循环调用每个DataFrame的列。然而,我得到的是字符串本身,而不是调用结果。

我该怎么解决这个问题&我在这里缺少什么概念?非常感谢。

l=['chocolate', 'vanilla', 'strawberry']
def m(s):
xd='Bar.'+s+'.columns.str[:5]'
return xd

for s in l:
print (m(s))

返回:

bar.chocolate.columns.str[:5]
bar.vanilla.columns.str[:5]
bar.strawberry.columns.str[:5]

创建字符串不会访问属性。您需要实际使用getattr()获取它们,如下所示:

l=['chocolate', 'vanilla', 'strawberry']
def m(df, attribute):
return getattr(df, attribute).columns.str[:5]
for s in l:
print (m(Bar, s))

最新更新