【发布时间】:2021-07-03 12:46:36
【问题描述】:
我有一个列名列表,如下所示:
colnames = ['split1', 'split2', 'split3', 'split4', 'split5', 'split6', 'split7']
我在一行代码中使用了它,我在其中迭代列表项,如下所示:
for i in range(0,x+2):
df[d[i+1]] = df.groupby(d[i]).colnames[i].transform(lambda x : x.factorize()[0]+1)
这给了我属性错误:
AttributeError: 'DataFrameGroupBy' object has no attribute 'columns'
但如果我将 colname 项单独提供给代码,它就可以正常工作:
df['dot2'] = df.groupby('dot1').split1.transform(lambda x : x.factorize()[0]+1)
【问题讨论】:
-
d中的df.groupby(d[i])是什么? -
d 是另一个列列表:d = ['dot1', 'dot2', 'dot3', 'dot4', 'dot5', 'dot6', 'dot7']
标签: python pandas list dataframe group-by