用
pct_change在
groupby
d1 = df.set_index(['Date', 'Group']).Valued2 = d1.groupby(level='Group').pct_change()print(d2)Date Group2016-01-02 A NaN2016-01-03 A -0.0625002016-01-04 A -0.0666672016-01-05 A 0.2142862016-01-06 A 0.1176472016-01-07 A 0.0526322016-01-02 B NaN2016-01-03 B -0.1875002016-01-04 B 0.0000002016-01-02 C NaN2016-01-03 C 0.000000Name: Value, dtype: float64
可视化和比较的许多方法之一是查看它们的增长方式。在这种情况下,我会
fillna(0)
add(1)
cumprod()
d2.fillna(0).add(1).cumprod().unstack().plot()
设定
from io import StringIOimport pandas as pdtxt = """Group Date Value A 01-02-2016 16 A 01-03-2016 15 A 01-04-2016 14 A 01-05-2016 17 A 01-06-2016 19 A 01-07-2016 20 B 01-02-2016 16 B 01-03-2016 13 B 01-04-2016 13 C 01-02-2016 16 C 01-03-2016 16 """df = pd.read_clipboard(parse_dates=[1])



