python - Move pivot_table values to rows -
is possible have columns passed values argument positioned rows? example of problem have:
import datetime df = pd.dataframe({'a': ['one', 'one', 'two', 'three'] * 6, 'b': ['a', 'b', 'c'] * 8, 'c': ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'] * 4, 'd': np.random.randn(24), 'e': np.random.randn(24), 'f': [datetime.datetime(2013, i, 1) in range(1, 3)] * 12 })
this produces following dataframe:
b c d e f 0 1 foo -0.152738 2.407996 2013-01-01 1 1 b foo -1.113901 0.597699 2013-02-01 2 2 c foo -0.587265 -0.878725 2013-03-01 3 3 bar -0.734618 -0.252295 2013-04-01 4 1 b bar 0.359421 1.181750 2013-05-01 5 1 c bar -0.303491 0.473419 2013-06-01 6 2 foo -0.275638 0.360602 2013-07-01
applying pivot_table
,
>>> df.pivot_table(index=['a','b','c'], columns='f', values=['d','e']) d e f 2013-01-01 2013-02-01 2013-01-01 2013-02-01 b c 1 bar nan 0.878219 nan -0.004981 foo -0.164395 nan -0.254941 nan b bar 1.239046 nan 1.265536 nan foo nan 0.181584 nan 0.449861 c bar nan -0.823104 nan -0.317757 foo -1.784723 nan 0.169650 nan 3 bar nan 1.228297 nan 0.467856 b foo nan 0.065234 nan 0.061998 c bar nan 0.738302 nan 0.908946 2 foo -0.227953 nan -1.067442 nan b bar 0.336351 nan -0.522268 nan c foo -0.279180 nan 0.335666 nan
i'd columns d, e & f appear under rows multiindex, keeping columns solely dates.
stack first level:
>>> df.pivot_table(index=['a','b','c'], columns='f', values=['d','e']).stack(0) f 2013-01-01 2013-02-01 b c 1 bar d nan -0.326106 e nan -0.882319 foo d 0.147015 nan e -0.121944 nan b bar d 0.133723 nan e 0.182735 nan foo d nan 0.158913 e nan 0.365275 c bar d nan 0.495230 e nan 1.098515 foo d -0.624333 nan e 0.214979 nan 3 bar d nan 0.101431 e nan -0.352368 b foo d nan 0.405091 e nan 0.389888 c bar d nan 0.804457 e nan -0.572397 2 foo d 0.127069 nan e 0.105038 nan b bar d -1.052195 nan e 0.728630 nan c foo d -0.643464 nan e -0.440381 nan
Comments
Post a Comment