Pandas DataFrame DataFrame.plot.hist() 函式
    
    
            Minahil Noor
    2023年1月30日
    
    Pandas
    Pandas DataFrame
    Pandas DataFrame Plot
    
- 
          
            
pandas.DataFrame.plot.hist()語法 - 
          
            示例程式碼:
DataFrame.plot.hist() - 
          
            示例程式碼:
DataFrame.plot.hist()繪製複雜的直方圖 - 
          
            示例程式碼: 
DataFrame.plot.hist()改變bin數量 
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 欄。
        Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
    
相關文章 - Pandas DataFrame
- Pandas concat 函式
 - Pandas cut 函式
 - Pandas DataFrame sort_index()函式
 - Pandas DataFrame.idxmax()函式
 - Pandas DataFrame.insert()函式
 - Pandas DataFrame.resample()函式