J'ai les données suivantes en termes de dataframe
data = pd.DataFrame({'colA': ['a', 'c', 'a', 'e', 'c', 'c'], 'colB': ['b', 'd', 'b', 'f', 'd', 'd'], 'colC':['SD100', 'SD200', 'SD300', 'SD400', 'SD500', 'SD600']})
Je souhaite que la sortie soit jointe [entrez la description de l'image ici] [2]
Je veux y parvenir en utilisant pandas dataframe en python Quelqu'un peut-il m'aider?
3 Réponses :
Vous pouvez essayer:
>>> df.groupby(['Column A', 'Column B']).agg(list)
Column C
Column A Column B
a b [SD100, SD300]
c d [SD200, SD500, SD600]
e f [SD400]
Column A Column B Column C 0 a b SD100 1 c d SD200 2 a b SD300 3 e f SD400 4 c d SD500 5 c d SD600
Je ne sais pas pourquoi vous voulez créer du multi-index, mais vous pouvez simplement sort_values ou utiliser groupby.
df = df.sort_values(by=['ColumnA','ColumnB']) df.set_index(['ColumnA', 'ColumnB','ColumnC'], inplace=True) df
ColumnA ColumnB ColumnC
0 a b SD100
1 c d SD200
2 a b SD300
3 e f SD400
4 c d SD500
5 c d SD600
import pandas as pd
df = pd.DataFrame({"ColumnA":['a','c','a','e','c','c'],
"ColumnB":['b','d','b','f','d','d'],
"ColumnC":['SD100','SD200','SD300','SD400','SD500','SD600']})
print(df)
Cela mettra à jour vos données selon vos souhaits
data=data.groupby(['colA','colB'ITED).agg(list)
S'il vous plaît, ajoutez vos données dans un bon format afin que l'on puisse copier ces données et effectuer une opération pour vous aider.