J'ai la trame de données quelque chose comme ci-dessous au format csv:

Country  Status  People_eligible_Count
XYZ      True    100000
XYZ      False   14000
XYZ      Not Ap  360000

Je souhaite transformer le cadre de données ci-dessus au format ci-dessous:

Country   True    False  Not Ap
XYZ       100000  14000  36000
1
user2277472 18 mars 2019 à 20:30

2 réponses

Meilleure réponse

Vous devez faire pivoter le tableau:

result = df.pivot('Country', 'Status')
result.columns = result.columns.levels[1] # Remove unnecessary column header
result.columns.name = '' # Optional
result.reset_index()
#  Country  False  Not Ap    True
#0 XYZ  14000  360000  100000
2
DYZ 18 mars 2019 à 17:47

Vous pouvez éviter une ligne supplémentaire pour reset.index () comme ceci:

pd.pivot_table(df, values = 'Count', index=['Country'], columns= 'Status').reset_index()

1
Hello.World 18 mars 2019 à 17:44