如何对两列进行分组并保持其余列相同?
How to Groupby two columns and keep the rest of columns the same?
DataFrame 看起来像这样:
Date Symbol Open High Low Close Volume
2016-01-04 AAPL 102.61 105.368 102.00 105.35 67649387.0
2016-01-05 AAPL 105.75 105.850 102.41 102.71 55790992.0
2016-01-06 KO 100.56 102.370 99.87 100.70 68457388.0
我正在努力让它看起来像这样:
Open High Low Close Volume
Symbol Date
AAPL 2016-01-04 102.61 105.368 102.00 105.35 67649387.0
2016-01-05 105.75 105.850 102.41 102.71 55790992.0
2016-01-06 100.56 102.370 99.87 100.70 68457388.0
KO 2016-01-04 102.61 105.368 102.00 105.35 67649387.0
2016-01-05 102.61 105.368 102.00 105.35 67649387.0
2016-01-06 102.61 105.368 102.00 105.35 67649387.0
我试过了:
mydata.groupby(['Symbol','Date']).agg()
我也试过 reset_index 并在索引上合并,但也没有成功
如果我理解你的意思..
df.set_index(['Date','Symbol']).unstack(0).stack(dropna=False).groupby(level='Symbol').ffill().bfill()
Out[231]:
Open High Low Close Volume
Symbol Date
AAPL 2016-01-04 102.61 105.368 102.00 105.35 67649387.0
2016-01-05 105.75 105.850 102.41 102.71 55790992.0
2016-01-06 105.75 105.850 102.41 102.71 55790992.0
KO 2016-01-04 100.56 102.370 99.87 100.70 68457388.0
2016-01-05 100.56 102.370 99.87 100.70 68457388.0
2016-01-06 100.56 102.370 99.87 100.70 68457388.0
DataFrame 看起来像这样:
Date Symbol Open High Low Close Volume
2016-01-04 AAPL 102.61 105.368 102.00 105.35 67649387.0
2016-01-05 AAPL 105.75 105.850 102.41 102.71 55790992.0
2016-01-06 KO 100.56 102.370 99.87 100.70 68457388.0
我正在努力让它看起来像这样:
Open High Low Close Volume
Symbol Date
AAPL 2016-01-04 102.61 105.368 102.00 105.35 67649387.0
2016-01-05 105.75 105.850 102.41 102.71 55790992.0
2016-01-06 100.56 102.370 99.87 100.70 68457388.0
KO 2016-01-04 102.61 105.368 102.00 105.35 67649387.0
2016-01-05 102.61 105.368 102.00 105.35 67649387.0
2016-01-06 102.61 105.368 102.00 105.35 67649387.0
我试过了:
mydata.groupby(['Symbol','Date']).agg()
我也试过 reset_index 并在索引上合并,但也没有成功
如果我理解你的意思..
df.set_index(['Date','Symbol']).unstack(0).stack(dropna=False).groupby(level='Symbol').ffill().bfill()
Out[231]:
Open High Low Close Volume
Symbol Date
AAPL 2016-01-04 102.61 105.368 102.00 105.35 67649387.0
2016-01-05 105.75 105.850 102.41 102.71 55790992.0
2016-01-06 105.75 105.850 102.41 102.71 55790992.0
KO 2016-01-04 100.56 102.370 99.87 100.70 68457388.0
2016-01-05 100.56 102.370 99.87 100.70 68457388.0
2016-01-06 100.56 102.370 99.87 100.70 68457388.0