📜  Python中的 Pandas.DataFrame.hist()函数(1)

📅  最后修改于: 2023-12-03 15:04:33.937000             🧑  作者: Mango

Python中的 Pandas.DataFrame.hist()函数

简介

在数据分析中,通常需要对数据进行可视化以更好地了解数据的特征和分布情况。Pandas提供了一些基本的数据可视化函数,其中之一就是hist()函数。hist()函数可以绘制DataFrame或Series的直方图,可以便捷地发现数据中存在的规律和异常值。

参数说明

Pandas.DataFrame.hist()函数有很多参数,下面是一些常用的参数:

  • bins:直方图的箱数(即直方图中的条数)
  • color:直方图的颜色
  • alpha:透明度
  • grid:是否显示网格线
  • figsize:图像的大小
  • range:直方图的范围
  • density:是否标准化至单位面积
  • cumulative:是否累计显示
使用方法

首先需要导入Pandas库和Matplotlib库。以下是一个简单的样例代码,使用Pandas读取csv文件,并使用hist()函数绘制DataFrame对象的直方图。

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('data.csv')  # 假设文件名叫做data.csv
df.hist(bins=10, color='steelblue', edgecolor='black', linewidth=1.0,
        xlabelsize=8, ylabelsize=8, grid=False)
plt.show()

这个代码会生成一个直方图,包含了DataFrame中每一列的直方图。

示例

下面是一个更加详细的代码示例,包括如何设置figsize、透明度、网格线等。

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('data.csv')  # 假设文件名叫做data.csv
fig, axes = plt.subplots(nrows=1, ncols=3, figsize=(12, 4))

# 绘制第一张子图(norm_hist=True)
df.plot.hist(ax=axes[0], bins=10, alpha=0.5, normed=True, color='steelblue', edgecolor='black')
axes[0].set_title('hist(normed=True)')
axes[0].set_xlabel('Value')
axes[0].set_ylabel('Frequency')

# 绘制第二张子图(norm_hist=False)
df.plot.hist(ax=axes[1], bins=10, alpha=0.5, normed=False, color='steelblue', edgecolor='black')
axes[1].set_title('hist(normed=False)')
axes[1].set_xlabel('Value')
axes[1].set_ylabel('Frequency')

# 绘制第三张子图(cumulative=True)
df.plot.hist(ax=axes[2], bins=10, alpha=0.5, normed=True, cumulative=True, color='steelblue', edgecolor='black')
axes[2].set_title('cumulative histogram')
axes[2].set_xlabel('Value')
axes[2].set_ylabel('Frequency')

plt.subplots_adjust(wspace=0.3)  # 调整图像的间距
plt.show()

上面这个代码会生成一个包含三张子图的整体图像,其中第一个子图是标准化的直方图,第二个子图是未标准化的直方图,第三个子图是累积直方图。

总结

Pandas.DataFrame.hist()函数是一个非常方便的函数,可以便捷地发现数据中存在的规律和异常值,对于数据分析和挖掘非常有用。需要注意的是,该函数默认使用Matplotlib进行可视化,需要先导入Matplotlib库。