Python Pandas - Trực quan hóa

Plotting cơ bản: cốt truyện

Chức năng này trên Series và DataFrame chỉ là một trình bao bọc đơn giản xung quanh matplotlib libraries plot() phương pháp.

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(10,4),index=pd.date_range('1/1/2000',
   periods=10), columns=list('ABCD'))

df.plot()

Nó là output như sau -

Nếu chỉ mục bao gồm ngày tháng, nó sẽ gọi gct().autofmt_xdate() để định dạng trục x như trong hình minh họa trên.

Chúng ta có thể vẽ một cột này so với một cột khác bằng cách sử dụng xy từ khóa.

Các phương pháp vẽ đồ thị cho phép một số ít kiểu đồ thị khác với kiểu đồ thị đường mặc định. Các phương pháp này có thể được cung cấp dưới dạng đối số từ khóa loại choplot(). Chúng bao gồm -

  • thanh hoặc barh cho các ô thanh
  • lịch sử cho biểu đồ
  • hộp cho boxplot
  • 'khu vực' cho các lô khu vực
  • 'phân tán' cho các âm mưu phân tán

Lô đất

Bây giờ chúng ta hãy xem Bar Plot là gì bằng cách tạo một Bar Plot. Một biểu đồ thanh có thể được tạo theo cách sau:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(10,4),columns=['a','b','c','d')
df.plot.bar()

Nó là output như sau -

Để tạo ra một biểu đồ thanh xếp chồng lên nhau, pass stacked=True -

import pandas as pd
df = pd.DataFrame(np.random.rand(10,4),columns=['a','b','c','d')
df.plot.bar(stacked=True)

Nó là output như sau -

Để lấy các biểu đồ thanh ngang, hãy sử dụng barh phương pháp -

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(10,4),columns=['a','b','c','d')

df.plot.barh(stacked=True)

Nó là output như sau -

Biểu đồ

Biểu đồ có thể được vẽ bằng cách sử dụng plot.hist()phương pháp. Chúng tôi có thể chỉ định số lượng thùng.

import pandas as pd
import numpy as np

df = pd.DataFrame({'a':np.random.randn(1000)+1,'b':np.random.randn(1000),'c':
np.random.randn(1000) - 1}, columns=['a', 'b', 'c'])

df.plot.hist(bins=20)

Nó là output như sau -

Để vẽ các biểu đồ khác nhau cho mỗi cột, hãy sử dụng mã sau:

import pandas as pd
import numpy as np

df=pd.DataFrame({'a':np.random.randn(1000)+1,'b':np.random.randn(1000),'c':
np.random.randn(1000) - 1}, columns=['a', 'b', 'c'])

df.diff.hist(bins=20)

Nó là output như sau -

Ô hộp

Boxplot có thể được gọi Series.box.plot()DataFrame.box.plot(), hoặc là DataFrame.boxplot() để trực quan hóa sự phân bố các giá trị trong mỗi cột.

Ví dụ, đây là một biểu đồ hình hộp đại diện cho năm thử nghiệm của 10 quan sát của một biến ngẫu nhiên đồng nhất trên [0,1).

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(10, 5), columns=['A', 'B', 'C', 'D', 'E'])
df.plot.box()

Nó là output như sau -

Khu vực lô đất

Biểu đồ khu vực có thể được tạo bằng cách sử dụng Series.plot.area() hoặc là DataFrame.plot.area() các phương pháp.

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])
df.plot.area()

Nó là output như sau -

Lô phân tán

Biểu đồ phân tán có thể được tạo bằng cách sử dụng DataFrame.plot.scatter() các phương pháp.

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(50, 4), columns=['a', 'b', 'c', 'd'])
df.plot.scatter(x='a', y='b')

Nó là output như sau -

Biểu đồ tròn

Biểu đồ hình tròn có thể được tạo bằng cách sử dụng DataFrame.plot.pie() phương pháp.

import pandas as pd
import numpy as np

df = pd.DataFrame(3 * np.random.rand(4), index=['a', 'b', 'c', 'd'], columns=['x'])
df.plot.pie(subplots=True)

Nó là output như sau -