Pandas df.describe() , is it possible to do it by row without transposing?
EdChum answer did not work for me, because with the apply command all the rows are Series; by usingpd.Series.describe
it worked
df.apply(pd.Series.describe, axis=1)
Use apply
and pass axis=1
to call describe
row-wise:
In [274]:
df = pd.DataFrame(np.random.randn(4,5))
df
Out[274]:
0 1 2 3 4
0 0.651863 0.738034 -0.477668 -0.561699 0.047500
1 -1.565093 -0.671551 0.537272 -0.956520 0.301156
2 -0.951549 2.177592 0.059961 -1.631530 -0.620173
3 0.277796 0.169365 1.657189 0.713522 1.649386
In [276]:
df.apply(pd.DataFrame.describe, axis=1)
Out[276]:
count mean std min 25% 50% 75% max
0 5 0.079606 0.609069 -0.561699 -0.477668 0.047500 0.651863 0.738034
1 5 -0.470947 0.878326 -1.565093 -0.956520 -0.671551 0.301156 0.537272
2 5 -0.193140 1.458676 -1.631530 -0.951549 -0.620173 0.059961 2.177592
3 5 0.893451 0.722917 0.169365 0.277796 0.713522 1.649386 1.657189