Computer >> Máy Tính >  >> Lập trình >> Python

Phân tích và trực quan hóa dữ liệu bằng Python?

Python cung cấp nhiều thư viện để phân tích và trực quan hóa dữ liệu, chủ yếu là numpy, pandas, matplotlib, seaborn, v.v. Trong phần này, chúng ta sẽ thảo luận về thư viện gấu trúc để phân tích và trực quan hóa dữ liệu, đây là một thư viện mã nguồn mở được xây dựng dựa trên numpy.

Nó cho phép chúng tôi thực hiện phân tích nhanh chóng và làm sạch và chuẩn bị dữ liệu.

Cài đặt

Để cài đặt gấu trúc, hãy chạy lệnh dưới đây trong thiết bị đầu cuối của bạn -

gấu trúc
pipinstall pandas

Hoặc chúng tôi có anaconda, bạn có thể sử dụng

condainstall pandas

Pandas-DataFrames

Khung dữ liệu là công cụ chính khi chúng tôi làm việc với gấu trúc.

mã -

import numpy as np
import pandas as pd
from numpy.random import randn
np.random.seed(50)
df = pd.DataFrame(randn(6,4), ['a','b','c','d','e','f'],['w','x','y','z'])
df

Đầu ra


w
x
y
z
a
- 1.560352
- 0,030978
- 0,620928
- 1,464580
b
1.411946
- 0,476732
- 0,780469
1.070268
c
- 1.282293
- 1.327479
0,126338
0,862194
d
0,696737
- 0,334565
- 0,997526
1.598908
e
3.314075
0,987770
0,123866
0,742785
f
- 0,393956
0,148116
- 0,412234
- 0,160715

Dữ liệu bị thiếu trên gấu trúc

Weare sẽ thấy một số cách thuận tiện để đối phó với những con inpandas bị thiếu dữ liệu, chúng tự động được lấp đầy bằng số 0 hoặc nan.

import numpy as np
import pandas as pd
from numpy.random import randn
d = {'A': [1,2,np.nan], 'B': [9, np.nan, np.nan], 'C': [1,4,9]}
df = pd.DataFrame(d)
df

Đầu ra



A
B
C
0
1,0
9.0
1
1
2.0
NaN
4
2
NaN
NaN
9

Vì vậy, chúng tôi đang thiếu 3 giá trị ở trên.

df.dropna()




A
B
C
0
1,0
9.0
1


df.dropna(axis = 1)




C
0
1
1
4
2
9


df.dropna(thresh = 2)




A
B
C
0
1,0
9,0
1
1
2.0
NaN
4


df.fillna(value = df.mean())




A
B
C
0
1,0
9.0
1
1
2.0
9.0
4
2
1,5
9.0
9

Gấu trúc - Nhập dữ liệu

Chúng tôi sẽ đọc tệp csv được lưu trữ trong máy cục bộ của chúng tôi (trong trường hợp của tôi) hoặc chúng tôi có thể tìm nạp trực tiếp từ web.

#import pandas library
import pandas as pd

#Read csv file and assigned it to dataframe variable
df = pd.read_csv("SYB61_T03_Population Growth Rates in Urban areas and Capital cities.csv",encoding = "ISO-8859-1")

#Read first five element from the dataframe
df.head()

Đầu ra

Phân tích và trực quan hóa dữ liệu bằng Python?

Thêm số lượng hàng và cột trong khung dữ liệu hoặc tệp csv của chúng tôi.

#Countthe number of rows and columns in our dataframe.
df.shape

Đầu ra

(4166,9)

Gấu trúc - Toán khung dữ liệu

Các khung dữ liệu hoạt động có thể được thực hiện bằng cách sử dụng các công cụ thống kê dữ liệu khác nhau của gấu trúc

#To computes various summary statistics, excluding NaN values
df.describe()

Đầu ra

Phân tích và trực quan hóa dữ liệu bằng Python?

# computes numerical data ranks
df.rank()

Đầu ra

Phân tích và trực quan hóa dữ liệu bằng Python?

.....

.....

Phân tích và trực quan hóa dữ liệu bằng Python?

Gấu trúc - đồ thị biểu đồ

import matplotlib.pyplot as plt
years = [1981, 1991, 2001, 2011, 2016]

Average_populations = [716493000, 891910000, 1071374000, 1197658000, 1273986000]

plt.plot(years, Average_populations)
plt.title("Census of India: sample registration system")
plt.xlabel("Year")
plt.ylabel("Average_populations")
plt.show()

Đầu ra

Phân tích và trực quan hóa dữ liệu bằng Python?

Biểu đồ phân tán của dữ liệu trên:

plt.scatter(years,Average_populations)


Phân tích và trực quan hóa dữ liệu bằng Python?

Biểu đồ:

import matplotlib.pyplot as plt

Average_populations = [716493000, 891910000, 1071374000, 1197658000, 1273986000]

plt.hist(Average_populations, bins = 10)
plt.xlabel("Average_populations")
plt.ylabel("Frequency")

plt.show()

Đầu ra

Phân tích và trực quan hóa dữ liệu bằng Python?