- import numpy as np
- import pandas as pd
- class display(object):
- """Display HTML representation of multiple objects"""
- template = """<div style="float: left; padding: 10px;">
- <p style='font-family:"Courier New", Courier, monospace'>{0}</p>{1}
- </div>"""
- def __init__(self, *args):
- self.args = args
-
- def _repr_html_(self):
- return '\n'.join(self.template.format(a, eval(a)._repr_html_())
- for a in self.args)
-
- def __repr__(self):
- return '\n\n'.join(a + '\n' + repr(eval(a))
- for a in self.args)
- import seaborn as sns
- planets = sns.load_dataset('planets')
- planets.shape
如下所示,我们的天文观测数据中一共有1035条记录,包含了所观测星球的轨道周期、质量等 6 个字段:
- planets.head()
- rng = np.random.RandomState(42)
- ser = pd.Series(rng.rand(5))
- ser
- ser.sum()
- ser.mean()
- df = pd.DataFrame({'A': rng.rand(5),
- 'B': rng.rand(5)})
- df
- df.mean()
- df.mean(axis='columns')
- planets.dropna().describe()
- df = pd.DataFrame({'key': ['A', 'B', 'C', 'A', 'B', 'C'],
- 'data': range(6)}, columns=['key', 'data'])
- df
- df.groupby('key')
对 DataFrameGroupBy 调用一系列函数则可以得到我们想要的分组汇总结果,如计算样本数总和:
- df.groupby('key').sum()
我们类似的操作处理示例的天文观测数据,查看一下每一种 method 下观测到的星球轨道周期中位数:
- planets.groupby('method')
- planets.groupby('method')['orbital_period']
- planets.groupby('method')['orbital_period'].median()
以上内容转自 数析学院,原文内容较多,暂时搬运到这,有需要的同学可以直接查看原文