Pandas DataFrame DataFrame.plot.hist() 函数
Python Pandas DataFrame.plot.hist() 函数绘制了一个 DataFrame
的列的单一直方图。直方图以图形的形式表示数据。它可以创建范围的条形图。越高的条形图表明有更多的数据落入这个条形图的范围。
pandas.DataFrame.plot.hist()
语法
DataFrame.sample(by=None, bins=10, **kwargs)
参数
by |
它是一个字符串或序列。它代表 DataFrame 中要分组的列。 |
bins |
它是一个整数。它表示直方块的数量。一个直方块就像一个范围,例如,0-5,6-10 等。 |
**kwargs |
这些是自定义直方图的附加关键字参数。你可以在这里查看更多信息。 |
返回值
它返回一个绘制的直方图和 AxesSubplot
数据。
示例代码:DataFrame.plot.hist()
让我们先用一个简单的 DataFrame
绘制一个直方图。
import pandas as pd
dataframe = pd.DataFrame({'Value':[100, 200, 300]})
print(dataframe)
我们的 DataFrame
看起来像,
Value
0 100
1 200
2 300
这个函数的所有参数都是可选的。如果我们在执行这个函数时不传递任何参数,那么它将产生以下输出。
import pandas as pd
from matplotlib import pyplot as plt
dataframe = pd.DataFrame({"Value": [100, 200, 300]})
histogram = dataframe.plot.hist()
print(histogram)
plt.show()
输出:
AxesSubplot(0.125,0.125;0.775x0.755)
示例代码:DataFrame.plot.hist()
绘制复杂的直方图
现在,我们将把我们的 DataFrame
转换为一个复杂的情况。
import pandas as pd
import numpy as np
dataframe = pd.DataFrame(np.random.randint(0, 200, size=(200, 3)), columns=list("ABC"))
print(dataframe)
我们的 DataFrame
变成:
A B C
0 15 163 163
1 29 7 54
2 195 40 6
3 183 92 57
4 72 167 40
.. ... ... ...
195 79 35 7
196 122 79 142
197 121 46 124
198 138 141 114
199 148 95 129
[200 rows x 3 columns]
我们已经使用 NumPy.random.randint() 函数创建了一个包含随机整数的 DataFrame
。现在,我们将使用 DataFrame.plot.hist()
函数绘制这个 DataFrame
的直方图。
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
dataframe = pd.DataFrame(np.random.randint(0, 200, size=(200, 3)), columns=list("ABC"))
histogram = dataframe.plot.hist()
print(histogram)
plt.show()
输出:
AxesSubplot(0.125,0.125;0.775x0.755)
该函数绘制了一个直方图,默认有 10 个 bin
。它显示了 DataFrame
中三列的频率分布。每一列用特定的颜色表示。
示例代码: DataFrame.plot.hist()
改变 bin
数量
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
dataframe = pd.DataFrame(np.random.randint(0, 200, size=(200, 3)), columns=list("ABC"))
histogram = dataframe.plot.hist(bins=2)
print(histogram)
plt.show()
输出:
AxesSubplot(0.125,0.125;0.775x0.755)
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
dataframe = pd.DataFrame(np.random.randint(0, 200, size=(200, 3)), columns=list("ABC"))
histogram = dataframe.plot.hist(bins=50)
print(histogram)
plt.show()
输出:
AxesSubplot(0.125,0.125;0.775x0.755)
在第一个例子的代码中,我们将 bins
数改为 2,而在第二个例子的代码中,则是 50。请注意,bins
数越多,越容易理解直方图。第一个直方图是模糊的,因为我们无法看到 A
栏。
相关文章
DataFrame 获取给定列的第一行
发布时间:2024/04/22 浏览次数:51 分类:Python
-
本教程介绍了如何在 Pandas DataFrame 中使用 Series.loc()和 Series.iloc()方法获取给定列的第一行。
如何基于 Pandas 中的给定条件创建 DataFrame 列
发布时间:2024/04/22 浏览次数:147 分类:Python
-
我们可以使用列表推导技术,numpy 方法,apply()方法和 map()方法对 Pandas 中的给定条件创建 DataFrame 列。
在 Pandas 的 DataFrame 中合并两列文本
发布时间:2024/04/22 浏览次数:99 分类:Python
-
在 Pandas 库中使用 + 运算符,apply(),map(),str.cat(),agg()方法在 DataFrame 中合并列
Pandas DataFrame DataFrame.append() 函数
发布时间:2024/04/22 浏览次数:92 分类:Python
-
Pandas 中的 append 方法将两个不同 DataFrame 的行合并,并返回新的 DataFrame。
Pandas DataFrame DataFrame.apply() 函数
发布时间:2024/04/22 浏览次数:172 分类:Python
-
Pandas DataFrame apply()函数将输入的函数应用到 Pandas DataFrame 的每一个沿行或沿列的元素。
Pandas DataFrame DataFrame.aggregate() 函数
发布时间:2024/04/22 浏览次数:98 分类:Python
-
Pandas DataFrame aggregate()函数对 DataFrame 的列或行进行聚合。