📅  最后修改于: 2023-12-03 15:04:33.937000             🧑  作者: Mango
在数据分析中,通常需要对数据进行可视化以更好地了解数据的特征和分布情况。Pandas提供了一些基本的数据可视化函数,其中之一就是hist()函数。hist()函数可以绘制DataFrame或Series的直方图,可以便捷地发现数据中存在的规律和异常值。
Pandas.DataFrame.hist()函数有很多参数,下面是一些常用的参数:
首先需要导入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库。