Skip to content Skip to sidebar Skip to footer

Need To Transpose A Pandas Dataframe

I have a Series that look like this: col1 id 0 a 10 1 b 20 2 c 30 3 b 10 4 d 10 5

Solution 1:

You could use pd.crosstab

In[329]: pd.crosstab(df.id, df.col1)
Out[329]:
col1abcdeid1011010200100030101004000001

Or, use pd.pivot_table

In[336]: df.pivot_table(index='id', columns='col1', aggfunc=len, fill_value=0)
Out[336]:
col1abcdeid1011010200100030101004000001

Or, use groupby and unstack

In [339]: df.groupby(['id', 'col1']).size().unstack(fill_value=0)
Out[339]:
col1  a  b  c  d  e
id
1011010200100030101004000001

Post a Comment for "Need To Transpose A Pandas Dataframe"