J'ai créé un exemple de code, pour voir si les choses fonctionnaient comme je le souhaitais.
predictorgroups=predictor.groupby("sector")
targetco=target.iloc[1]
group=predictorgroups.get_group(targetco.sector).astype(object)
pdf=(group).sort('size',ascending=False)[:10].astype(object)
Cela a bien fonctionné. J'ai donc voulu mettre à jour et faire en sorte que ce code interagisse plusieurs fois, et je l'ai donc adapté :
for i in range(len(target.index[:10])):
predictorgroups=predictor.groupby("sector")
targetco=target.iloc(i)
group=predictorgroups.get_group(targetco.sector).astype(object)
pdf=(group).sort('size',ascending=False)[:10].astype(object)
Notez qu'il s'agit du même code que le précédent. Cependant, dans le second, j'obtiens cette erreur :
Traceback (most recent call last):
File "/file.py", line 64, in <module>
group=predictorgroups.get_group(targetco.sector).astype(object)
AttributeError: '_iLocIndexer' object has no attribute 'sector'
J'ai remarqué que dans le premier code, si j'imprime targetco
J'obtiens une série Pandas avec un seul index. Si je fais la même chose dans le second, j'obtiens le type d'objet suivant :
targetco pandas.core.indexing._iLocIndexer object at 0x105a3e438
Quelqu'un peut-il m'expliquer pourquoi cela se produit ? Pourquoi j'obtiens une réponse différente dans le second code alors que les deux sont identiques ?