pandas tri en fonction d'une autre colonne
Bonsoir, j'ai un souci de tri.
Par exemple, si je fais :
Code:
1 2 3 4 5 6 7 8 9 10
| import pandas as pd
df1 = pd.DataFrame(['jane','dave','john'])
df2 = pd.DataFrame(['fgt','hyt','ert'])
df3 = df1 + " " + df2
print(df3)
print(df3.iloc[:, 0].values.tolist())
order = {k:v for v,k in enumerate(df3.iloc[:, 0].values.tolist())}
student_tuples = pd.DataFrame([['john ert', 'A', 15],['jane fgt', 'B', 12],['dave hyt', 'B', 10] ])
print(sorted(student_tuples.values.tolist(), key=lambda x:order[x[0]])) |
J'obtiens ce que je veux, c'est à dire la deuxièmedataframe classée en fonction des noms de la première.
J'effectue la même chose (en fait sans doute pas j'imagine) sur 2 dataframes de 180 termes et j'ai l'erreur suivante que je ne comprends pas :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| order = {k:v for v,k in enumerate(pd_nom_prenom.iloc[:, 0].values.tolist())}
File "/usr/local/lib/python3.9/dist-packages/pandas/core/indexing.py", line 925, in __getitem__
return self._getitem_tuple(key)
File "/usr/local/lib/python3.9/dist-packages/pandas/core/indexing.py", line 1506, in _getitem_tuple
self._has_valid_tuple(tup)
File "/usr/local/lib/python3.9/dist-packages/pandas/core/indexing.py", line 751, in _has_valid_tuple
self._validate_key_length(key)
File "/usr/local/lib/python3.9/dist-packages/pandas/core/indexing.py", line 792, in _validate_key_length
raise IndexingError("Too many indexers")
IndexingError: Too many indexers |
Si quelqu'un a une idée parce que là, je sèche.
Peut-être dans la construction de mes dataframes ?