Python数据分析中的pandas库是进行数据预处理和统计分析的重要工具。Pandas提供了一系列丰富的统计函数,使得数据科学家能够快速地获取数据集的关键信息。在本文中,我们将深入探讨pandas如何进行统计分析,并通过实例展示如何应用这些功能。 让我们了解如何使用pandas生成随机数据。这里我们导入numpy库并利用它来生成三组不同的随机数据。例如,`d1`是基于正态分布的Series,`d2`是从F分布中抽取的样本,而`d3`则是1到100之间的随机整数。 ```python import numpy as np import pandas as pd np.random.seed(1234) d1 = pd.Series(2*np.random.normal(size = 100) + 3) d2 = np.random.f(2, 4, size = 100) d3 = np.random.randint(1, 100, size = 100) ``` pandas提供了一系列的统计函数,可以帮助我们快速获取数据的基本统计信息: 1. `count()`: 计算非空元素的数量。 2. `min()`: 找到最小值。 3. `max()`: 找到最大值。 4. `idxmin()`: 返回最小值的索引位置。 5. `idxmax()`: 返回最大值的索引位置。 6. `quantile(q)`: 计算分位数,如`quantile(0.1)`为10%分位数。 7. `sum()`: 求和。 8. `mean()`: 计算均值。 9. `median()`: 计算中位数。 10. `mode()`: 找到众数。 11. `var()`: 计算方差。 12. `std()`: 计算标准差。 13. `mad()`: 计算平均绝对偏差。 14. `skew()`: 计算偏度,衡量分布的不对称性。 15. `kurt()`: 计算峰度,衡量分布的尖锐程度。 `describe()`函数可以一次性输出多个描述性统计指标,但只适用于Series或DataFrame对象。如果想要在一个自定义函数中汇总所有这些指标,可以定义如下函数: ```python def status(x): return pd.Series([x.count(), x.min(), x.idxmin(), x.quantile(0.25), x.median(), x.quantile(0.75), x.mean(), x.max(), x.idxmax(), x.mad(), x.var(), x.std(), x.skew(), x.kurt()], index=['总数', '最小值', '最小值位置', '25%分位数', '中位数', '75%分位数', '均值', '最大值', '最大值位数', '平均绝对偏差', '方差', '标准差', '偏度', '峰度']) ``` 在实际工作中,我们经常需要处理DataFrame。例如,可以创建一个DataFrame`df`,然后使用`apply()`函数将`status`函数应用于每一列: ```python df = pd.DataFrame(np.array([d1, d2, d3]).T, columns=['x1', 'x2', 'x3']) df.head() df.apply(status) ``` 加载CSV数据是pandas的常见任务,`read_csv()`函数用于此目的: ```python bank = pd.read_csv("D://bank/bank-additional-train.csv") bank.head() ``` `describe()`函数可以快速获取数据的描述性统计: ```python result = bank['age'].describe() pd.DataFrame(result) ``` 可以按数据类型选择要计算统计信息的列: ```python result = bank.describe(include=['number']) result = bank.describe(include=['object']) ``` 此外,`corr()`和`cov()`函数分别用于计算相关系数和协方差矩阵: ```python bank.corr() bank.cov() ``` `drop()`函数用于删除列,`sort_values()`用于排序: ```python bank.drop('job', axis=1) bank.sort_values(by=['job', 'age']) bank.sort_values(by=['job', 'age'], ascending=False) ``` pandas提供了多种合并表格的方法,如`concat()`, `merge()`, 和 `join()`,以处理多个数据源的联合分析。 pandas库提供了强大的统计分析工具,使得数据科学家能够高效地探索和理解数据,为后续的数据建模和分析奠定基础。无论是在数据清洗、特征工程,还是在模型验证过程中,pandas都是Python数据科学中的得力助手。
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/release/download_crawler_static/12854735/bg1.jpg)
![](https://csdnimg.cn/release/download_crawler_static/12854735/bg2.jpg)
剩余7页未读,继续阅读
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 4
- 资源: 941
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)