-
Notifications
You must be signed in to change notification settings - Fork 1
Chương 2_Bài tập số 2_Dùng Python xử lý số liệu từ Excel xuất ra CSV và dùng thuật toán được hướng dẫn từ AI LLM để viết hàm, làm sạch, thay đổi và phân tích cấu trúc Khoa học Dữ liệu N1,N2
import numpy as np
import pandas as pd
#pd.__version__
import seaborn as sns
from matplotlib import pyplot as plt
from statsmodels.tsa.api import ExponentialSmoothing, SimpleExpSmoothing, Holt
from sklearn.linear_model import LinearRegression
import warnings
warnings.filterwarnings('ignore')
df = pd.read_csv(r"C:\Python311\workspaces\P6B55.csv")
pd.set_option("display.max_rows",df.shape[0]+1)
pd.set_option("display.max_columns",60)
df.shape
df
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
Date | S1 | S2 | S3 | S4 | S5 | S6 | S7 | S8 | S9 | S10 | S11 | S12 | S13 | S14 | S15 | S16 | S17 | S18 | S19 | S20 | S21 | S22 | S23 | S24 | S25 | S26 | S27 | S28 | S29 | S30 | S31 | S32 | S33 | S34 | S35 | S36 | S37 | S38 | S39 | S40 | S41 | S42 | S43 | S44 | S45 | S46 | S47 | S48 | S49 | S50 | S51 | S52 | S53 | S54 | S55 | ST | Link | Type | BD | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 28/9/2023 | 103 | 94 | 113 | 91 | 107 | 94 | 88 | 108 | 108 | 94 | 113 | 110 | 94 | 93 | 94 | 90 | 94 | 108 | 102 | 99 | 94 | 114 | 116 | 108 | 100 | 94 | 92 | 89 | 110 | 99 | 103 | 115 | 111 | 107 | 102 | 97 | 86 | 92 | 94 | 100 | 114 | 108 | 111 | 113 | 100 | 105 | 108 | 104 | 111 | 97 | 115 | 98 | 109 | 97 | 100 | 102.000000 | https://vietlott.vn/vi/choi/power-6-55/thong-k... | P7B55 | 01.08.2017 |
1 | 30/9/2023 | 103 | 94 | 114 | 92 | 107 | 94 | 88 | 108 | 108 | 94 | 113 | 110 | 95 | 94 | 94 | 90 | 94 | 108 | 103 | 100 | 94 | 114 | 117 | 109 | 100 | 94 | 93 | 89 | 110 | 100 | 103 | 115 | 111 | 107 | 102 | 98 | 86 | 93 | 94 | 100 | 115 | 108 | 111 | 114 | 101 | 105 | 109 | 104 | 111 | 98 | 115 | 98 | 109 | 97 | 100 | 102.310000 | NaN | NaN | NaN |
2 | 3/10/2023 | 103 | 94 | 115 | 92 | 107 | 94 | 88 | 108 | 108 | 94 | 113 | 110 | 95 | 94 | 95 | 90 | 94 | 108 | 103 | 100 | 94 | 114 | 117 | 109 | 100 | 94 | 94 | 89 | 111 | 100 | 103 | 115 | 111 | 107 | 102 | 98 | 87 | 93 | 94 | 100 | 115 | 108 | 111 | 115 | 101 | 105 | 109 | 105 | 111 | 98 | 115 | 98 | 109 | 97 | 100 | 102.440000 | NaN | NaN | NaN |
3 | 7/10/2023 | 104 | 94 | 115 | 92 | 107 | 94 | 88 | 108 | 108 | 94 | 113 | 110 | 95 | 94 | 95 | 90 | 94 | 108 | 103 | 100 | 95 | 114 | 117 | 109 | 100 | 94 | 94 | 89 | 111 | 100 | 103 | 115 | 112 | 107 | 102 | 98 | 87 | 93 | 94 | 100 | 115 | 108 | 111 | 115 | 101 | 106 | 110 | 105 | 111 | 98 | 115 | 98 | 110 | 97 | 100 | 102.550000 | NaN | NaN | NaN |
4 | 10/10/2023 | 104 | 94 | 115 | 93 | 107 | 95 | 88 | 108 | 108 | 94 | 113 | 110 | 96 | 94 | 95 | 90 | 94 | 108 | 103 | 100 | 95 | 114 | 118 | 109 | 100 | 95 | 94 | 89 | 111 | 100 | 103 | 115 | 112 | 107 | 102 | 99 | 88 | 93 | 94 | 101 | 115 | 108 | 112 | 116 | 101 | 107 | 110 | 105 | 111 | 98 | 115 | 99 | 110 | 97 | 100 | 102.760000 | NaN | NaN | NaN |
5 | 12/10/2023 | 104 | 94 | 115 | 93 | 108 | 95 | 88 | 109 | 109 | 94 | 113 | 110 | 96 | 94 | 95 | 90 | 94 | 108 | 103 | 101 | 95 | 114 | 118 | 109 | 100 | 95 | 94 | 89 | 111 | 100 | 103 | 115 | 112 | 107 | 102 | 100 | 88 | 93 | 94 | 101 | 115 | 108 | 112 | 116 | 101 | 107 | 110 | 105 | 111 | 99 | 115 | 99 | 110 | 97 | 100 | 102.870000 | NaN | NaN | NaN |
6 | 14/10/2023 | 104 | 94 | 115 | 93 | 108 | 95 | 88 | 110 | 109 | 94 | 113 | 110 | 96 | 94 | 95 | 90 | 94 | 108 | 103 | 101 | 95 | 114 | 119 | 109 | 100 | 95 | 94 | 89 | 111 | 101 | 103 | 115 | 112 | 108 | 102 | 100 | 88 | 94 | 94 | 101 | 115 | 108 | 112 | 116 | 101 | 107 | 111 | 105 | 111 | 99 | 115 | 99 | 110 | 97 | 100 | 102.980000 | NaN | NaN | NaN |
7 | 17/10/2023 | 104 | 94 | 115 | 93 | 108 | 95 | 88 | 110 | 109 | 94 | 113 | 110 | 97 | 94 | 95 | 90 | 94 | 108 | 103 | 101 | 95 | 115 | 119 | 109 | 100 | 95 | 94 | 89 | 111 | 101 | 103 | 115 | 113 | 108 | 102 | 100 | 88 | 94 | 94 | 101 | 116 | 108 | 112 | 116 | 101 | 108 | 112 | 105 | 111 | 99 | 115 | 99 | 110 | 97 | 100 | 103.090000 | NaN | NaN | NaN |
8 | 19/10/2023 | 105 | 94 | 115 | 93 | 108 | 95 | 88 | 110 | 109 | 94 | 113 | 110 | 97 | 94 | 95 | 90 | 94 | 108 | 103 | 101 | 95 | 115 | 120 | 109 | 100 | 95 | 94 | 89 | 112 | 101 | 103 | 115 | 113 | 108 | 102 | 100 | 89 | 94 | 94 | 101 | 116 | 108 | 112 | 116 | 101 | 108 | 112 | 105 | 111 | 99 | 116 | 99 | 110 | 97 | 101 | 103.200000 | NaN | NaN | NaN |
9 | 21/10/2023 | 105 | 94 | 115 | 93 | 108 | 95 | 88 | 110 | 109 | 94 | 114 | 110 | 97 | 94 | 95 | 91 | 94 | 108 | 103 | 101 | 95 | 115 | 120 | 110 | 100 | 95 | 94 | 89 | 112 | 101 | 103 | 115 | 113 | 109 | 102 | 100 | 89 | 94 | 94 | 101 | 116 | 108 | 112 | 116 | 101 | 108 | 113 | 105 | 111 | 99 | 116 | 100 | 110 | 97 | 101 | 103.310000 | NaN | NaN | NaN |
10 | 24/10/2023 | 105 | 94 | 115 | 93 | 108 | 95 | 88 | 110 | 109 | 94 | 114 | 111 | 97 | 94 | 95 | 91 | 94 | 108 | 103 | 102 | 95 | 115 | 120 | 110 | 100 | 96 | 94 | 89 | 112 | 101 | 103 | 115 | 114 | 109 | 102 | 100 | 89 | 94 | 94 | 102 | 116 | 108 | 112 | 117 | 101 | 108 | 113 | 105 | 111 | 99 | 116 | 100 | 110 | 97 | 101 | 103.420000 | NaN | NaN | NaN |
11 | 26/10/2023 | 105 | 94 | 115 | 93 | 108 | 95 | 88 | 110 | 109 | 94 | 114 | 111 | 97 | 95 | 95 | 91 | 94 | 108 | 103 | 102 | 95 | 116 | 120 | 110 | 100 | 96 | 94 | 89 | 112 | 101 | 103 | 116 | 114 | 109 | 102 | 100 | 90 | 94 | 94 | 102 | 116 | 109 | 113 | 117 | 101 | 108 | 113 | 106 | 111 | 99 | 116 | 100 | 110 | 97 | 101 | 103.550000 | NaN | NaN | NaN |
12 | 28/10/2023 | 105 | 94 | 115 | 93 | 108 | 95 | 88 | 110 | 109 | 95 | 115 | 111 | 97 | 96 | 95 | 91 | 94 | 108 | 103 | 102 | 95 | 116 | 120 | 110 | 101 | 96 | 94 | 89 | 112 | 101 | 103 | 116 | 114 | 109 | 102 | 100 | 90 | 94 | 94 | 102 | 116 | 109 | 113 | 118 | 101 | 109 | 114 | 106 | 111 | 99 | 116 | 100 | 110 | 97 | 101 | 103.670000 | NaN | NaN | NaN |
13 | 31/10/2023 | 105 | 94 | 115 | 93 | 108 | 95 | 88 | 110 | 109 | 95 | 115 | 111 | 97 | 96 | 95 | 92 | 95 | 108 | 103 | 102 | 95 | 116 | 120 | 110 | 101 | 96 | 94 | 90 | 112 | 101 | 103 | 116 | 114 | 109 | 102 | 100 | 91 | 94 | 94 | 102 | 116 | 109 | 113 | 118 | 101 | 109 | 114 | 106 | 111 | 99 | 116 | 100 | 110 | 97 | 101 | 103.750000 | NaN | NaN | NaN |
14 | 2/11/2023 | 105 | 94 | 115 | 93 | 108 | 95 | 88 | 110 | 110 | 95 | 115 | 111 | 97 | 96 | 96 | 92 | 96 | 108 | 103 | 102 | 96 | 116 | 120 | 110 | 101 | 97 | 94 | 90 | 112 | 101 | 103 | 116 | 114 | 109 | 102 | 101 | 91 | 94 | 94 | 102 | 116 | 109 | 113 | 118 | 101 | 109 | 114 | 106 | 111 | 99 | 116 | 100 | 110 | 97 | 101 | 103.850000 | NaN | NaN | NaN |
15 | 4/11/2023 | 105 | 94 | 115 | 93 | 108 | 95 | 88 | 110 | 110 | 95 | 115 | 111 | 97 | 97 | 96 | 92 | 96 | 108 | 103 | 102 | 96 | 116 | 120 | 110 | 101 | 97 | 94 | 90 | 112 | 101 | 103 | 116 | 114 | 109 | 103 | 101 | 92 | 94 | 94 | 102 | 116 | 109 | 113 | 118 | 101 | 109 | 115 | 107 | 111 | 100 | 116 | 100 | 110 | 97 | 101 | 103.960000 | NaN | NaN | NaN |
16 | 7/11/2023 | 105 | 94 | 115 | 93 | 108 | 95 | 88 | 110 | 110 | 95 | 115 | 112 | 97 | 97 | 96 | 92 | 96 | 109 | 103 | 103 | 96 | 116 | 120 | 110 | 101 | 97 | 94 | 91 | 112 | 101 | 103 | 116 | 114 | 109 | 104 | 101 | 92 | 94 | 94 | 102 | 116 | 109 | 113 | 118 | 101 | 109 | 115 | 107 | 111 | 100 | 116 | 101 | 110 | 97 | 101 | 104.070000 | NaN | NaN | NaN |
17 | 9/11/2023 | 105 | 94 | 115 | 93 | 108 | 95 | 88 | 111 | 110 | 95 | 115 | 112 | 97 | 97 | 96 | 92 | 97 | 109 | 103 | 103 | 96 | 116 | 120 | 111 | 101 | 97 | 94 | 91 | 112 | 101 | 103 | 116 | 114 | 110 | 104 | 101 | 92 | 94 | 95 | 102 | 116 | 109 | 113 | 118 | 101 | 109 | 115 | 108 | 111 | 100 | 116 | 101 | 110 | 97 | 101 | 104.180000 | NaN | NaN | NaN |
18 | 11/11/2023 | 105 | 95 | 116 | 94 | 108 | 95 | 88 | 111 | 110 | 95 | 115 | 112 | 97 | 97 | 96 | 92 | 97 | 109 | 104 | 103 | 96 | 116 | 120 | 111 | 101 | 97 | 94 | 91 | 112 | 101 | 103 | 116 | 114 | 110 | 104 | 101 | 92 | 94 | 95 | 102 | 117 | 110 | 113 | 118 | 101 | 109 | 115 | 108 | 111 | 100 | 116 | 101 | 110 | 97 | 101 | 104.290000 | NaN | NaN | NaN |
19 | 14/11/2023 | 105 | 95 | 116 | 95 | 108 | 95 | 88 | 111 | 111 | 95 | 115 | 113 | 97 | 97 | 97 | 92 | 97 | 109 | 104 | 103 | 96 | 117 | 120 | 111 | 101 | 97 | 94 | 91 | 112 | 101 | 103 | 116 | 114 | 110 | 104 | 101 | 92 | 95 | 95 | 102 | 117 | 110 | 113 | 118 | 101 | 109 | 115 | 108 | 111 | 100 | 116 | 101 | 110 | 97 | 101 | 104.400000 | NaN | NaN | NaN |
20 | 16/11/2023 | 105 | 95 | 117 | 95 | 109 | 95 | 88 | 111 | 111 | 96 | 115 | 113 | 97 | 97 | 97 | 92 | 97 | 110 | 104 | 103 | 96 | 117 | 120 | 111 | 101 | 97 | 94 | 91 | 112 | 101 | 103 | 116 | 114 | 110 | 104 | 101 | 92 | 95 | 95 | 102 | 117 | 110 | 113 | 119 | 101 | 109 | 115 | 108 | 112 | 100 | 116 | 101 | 110 | 97 | 101 | 104.510000 | NaN | NaN | NaN |
21 | 18/11/2023 | 106 | 95 | 117 | 95 | 109 | 95 | 89 | 111 | 111 | 97 | 115 | 113 | 97 | 98 | 97 | 92 | 97 | 110 | 104 | 103 | 96 | 117 | 120 | 111 | 101 | 97 | 94 | 92 | 113 | 101 | 103 | 116 | 114 | 110 | 104 | 101 | 92 | 95 | 95 | 102 | 117 | 110 | 113 | 119 | 101 | 109 | 115 | 108 | 112 | 100 | 116 | 101 | 110 | 97 | 101 | 104.620000 | NaN | NaN | NaN |
22 | 21/11/2023 | 106 | 95 | 118 | 95 | 109 | 95 | 90 | 111 | 111 | 97 | 115 | 113 | 97 | 98 | 97 | 93 | 97 | 110 | 104 | 103 | 96 | 117 | 120 | 111 | 101 | 97 | 94 | 92 | 113 | 101 | 103 | 116 | 114 | 110 | 104 | 101 | 93 | 95 | 96 | 102 | 117 | 110 | 113 | 119 | 101 | 109 | 115 | 108 | 112 | 100 | 117 | 101 | 110 | 97 | 101 | 104.730000 | NaN | NaN | NaN |
23 | 23/11/2023 | 106 | 95 | 118 | 96 | 109 | 96 | 90 | 111 | 111 | 97 | 115 | 113 | 97 | 98 | 97 | 93 | 97 | 110 | 104 | 103 | 96 | 117 | 120 | 111 | 101 | 98 | 94 | 92 | 113 | 101 | 103 | 116 | 115 | 110 | 104 | 101 | 93 | 95 | 96 | 102 | 117 | 110 | 113 | 119 | 101 | 109 | 115 | 108 | 112 | 100 | 117 | 102 | 110 | 97 | 102 | 104.840000 | NaN | NaN | NaN |
24 | 25/11/2023 | 106 | 95 | 118 | 96 | 109 | 96 | 91 | 111 | 112 | 98 | 115 | 113 | 97 | 98 | 97 | 93 | 98 | 110 | 104 | 103 | 96 | 117 | 120 | 111 | 102 | 98 | 94 | 92 | 113 | 101 | 103 | 116 | 115 | 110 | 104 | 101 | 93 | 95 | 96 | 102 | 117 | 110 | 113 | 119 | 101 | 109 | 115 | 108 | 112 | 100 | 117 | 102 | 111 | 97 | 102 | 104.950000 | NaN | NaN | NaN |
25 | 28/11/2023 | 106 | 95 | 118 | 96 | 109 | 96 | 91 | 111 | 112 | 99 | 115 | 113 | 97 | 98 | 97 | 93 | 98 | 110 | 104 | 103 | 96 | 117 | 120 | 112 | 102 | 98 | 94 | 92 | 113 | 101 | 103 | 116 | 115 | 110 | 104 | 101 | 93 | 95 | 96 | 102 | 117 | 110 | 113 | 119 | 101 | 109 | 116 | 109 | 112 | 100 | 117 | 103 | 111 | 97 | 103 | 105.050000 | NaN | NaN | NaN |
26 | 30/11/2023 | 106 | 95 | 118 | 96 | 109 | 96 | 91 | 111 | 113 | 99 | 115 | 113 | 98 | 98 | 97 | 93 | 98 | 110 | 104 | 103 | 97 | 117 | 120 | 112 | 102 | 98 | 94 | 93 | 113 | 101 | 103 | 116 | 115 | 110 | 104 | 101 | 93 | 95 | 96 | 102 | 117 | 110 | 113 | 119 | 101 | 109 | 116 | 109 | 112 | 101 | 117 | 103 | 111 | 98 | 103 | 105.160000 | NaN | NaN | NaN |
27 | 2/12/2023 | 107 | 95 | 118 | 96 | 109 | 96 | 91 | 111 | 113 | 100 | 115 | 113 | 98 | 98 | 97 | 93 | 98 | 110 | 104 | 104 | 97 | 117 | 120 | 112 | 102 | 98 | 94 | 93 | 113 | 101 | 103 | 116 | 115 | 110 | 104 | 101 | 94 | 95 | 96 | 102 | 117 | 110 | 113 | 119 | 101 | 109 | 116 | 110 | 112 | 101 | 118 | 103 | 111 | 98 | 103 | 105.270000 | NaN | NaN | NaN |
28 | 5/12/2023 | 107 | 96 | 118 | 97 | 109 | 96 | 91 | 111 | 113 | 100 | 115 | 113 | 98 | 98 | 97 | 93 | 98 | 110 | 105 | 104 | 97 | 117 | 120 | 112 | 102 | 98 | 94 | 93 | 113 | 101 | 103 | 117 | 115 | 110 | 105 | 101 | 94 | 95 | 97 | 102 | 117 | 110 | 113 | 119 | 101 | 109 | 116 | 110 | 113 | 101 | 118 | 103 | 111 | 98 | 103 | 105.400000 | NaN | NaN | NaN |
29 | 7/12/2023 | 107 | 96 | 118 | 97 | 109 | 96 | 91 | 111 | 114 | 100 | 115 | 113 | 99 | 98 | 97 | 93 | 98 | 110 | 105 | 104 | 97 | 117 | 120 | 112 | 102 | 98 | 94 | 94 | 113 | 101 | 103 | 117 | 116 | 110 | 105 | 101 | 94 | 95 | 97 | 102 | 117 | 110 | 113 | 119 | 101 | 109 | 117 | 110 | 113 | 102 | 118 | 103 | 112 | 98 | 103 | 105.530000 | NaN | NaN | NaN |
30 | 9/12/2023 | 107 | 96 | 118 | 97 | 109 | 97 | 91 | 111 | 115 | 100 | 115 | 113 | 99 | 98 | 97 | 93 | 98 | 110 | 105 | 104 | 97 | 117 | 120 | 112 | 102 | 99 | 95 | 94 | 113 | 101 | 103 | 117 | 116 | 111 | 105 | 101 | 94 | 95 | 97 | 102 | 118 | 110 | 113 | 119 | 101 | 109 | 118 | 110 | 113 | 102 | 118 | 103 | 112 | 98 | 103 | 105.650000 | NaN | NaN | NaN |
31 | 12/12/2023 | 107 | 96 | 118 | 97 | 109 | 98 | 92 | 111 | 115 | 100 | 115 | 113 | 99 | 98 | 97 | 94 | 98 | 110 | 105 | 104 | 98 | 117 | 120 | 112 | 102 | 99 | 95 | 94 | 113 | 101 | 103 | 117 | 116 | 112 | 105 | 101 | 94 | 95 | 97 | 102 | 118 | 110 | 113 | 119 | 101 | 109 | 118 | 110 | 113 | 103 | 118 | 103 | 112 | 98 | 103 | 105.763636 | NaN | NaN | NaN |
32 | 14/12/2023 | 108 | 96 | 118 | 97 | 109 | 98 | 92 | 111 | 115 | 100 | 115 | 114 | 99 | 98 | 97 | 94 | 98 | 110 | 105 | 104 | 98 | 117 | 121 | 112 | 102 | 99 | 95 | 94 | 113 | 102 | 103 | 117 | 116 | 112 | 105 | 101 | 94 | 95 | 97 | 102 | 118 | 110 | 114 | 119 | 101 | 109 | 118 | 111 | 113 | 103 | 118 | 104 | 112 | 98 | 103 | 105.890909 | NaN | NaN | NaN |
33 | 16/12/2023 | 108 | 96 | 118 | 97 | 109 | 98 | 92 | 111 | 115 | 100 | 115 | 114 | 100 | 98 | 98 | 94 | 98 | 110 | 105 | 104 | 99 | 117 | 121 | 112 | 102 | 100 | 95 | 94 | 113 | 102 | 103 | 117 | 116 | 113 | 106 | 101 | 94 | 95 | 97 | 102 | 118 | 110 | 114 | 119 | 102 | 109 | 118 | 111 | 113 | 103 | 118 | 104 | 112 | 98 | 103 | 106.020000 | NaN | NaN | NaN |
34 | 19/12/2023 | 108 | 96 | 118 | 97 | 109 | 98 | 92 | 111 | 115 | 100 | 116 | 114 | 100 | 99 | 99 | 94 | 98 | 111 | 105 | 104 | 99 | 117 | 121 | 113 | 102 | 100 | 95 | 94 | 113 | 102 | 103 | 117 | 116 | 114 | 106 | 101 | 94 | 95 | 97 | 102 | 118 | 110 | 114 | 119 | 102 | 109 | 118 | 111 | 113 | 103 | 118 | 104 | 113 | 98 | 103 | 106.145454 | NaN | NaN | NaN |
35 | 21/12/2023 | 108 | 96 | 119 | 97 | 109 | 98 | 92 | 111 | 116 | 100 | 116 | 114 | 100 | 99 | 99 | 94 | 98 | 111 | 105 | 104 | 99 | 117 | 121 | 113 | 102 | 100 | 95 | 94 | 113 | 102 | 104 | 117 | 116 | 114 | 106 | 101 | 94 | 95 | 98 | 102 | 119 | 110 | 114 | 119 | 102 | 109 | 119 | 112 | 113 | 103 | 118 | 104 | 113 | 98 | 103 | 106.272727 | NaN | NaN | NaN |
36 | 23/12/2023 | 108 | 96 | 119 | 97 | 109 | 98 | 92 | 111 | 116 | 100 | 116 | 114 | 100 | 99 | 99 | 94 | 98 | 111 | 105 | 104 | 99 | 118 | 121 | 113 | 102 | 100 | 95 | 94 | 113 | 102 | 104 | 118 | 116 | 114 | 106 | 101 | 94 | 95 | 99 | 102 | 119 | 110 | 115 | 119 | 102 | 110 | 119 | 113 | 114 | 103 | 118 | 104 | 113 | 98 | 103 | 106.400000 | NaN | NaN | NaN |
37 | 26/12/2023 | 108 | 96 | 119 | 97 | 109 | 98 | 92 | 111 | 116 | 101 | 116 | 114 | 100 | 100 | 99 | 94 | 99 | 111 | 105 | 104 | 99 | 118 | 121 | 113 | 103 | 100 | 96 | 94 | 114 | 102 | 104 | 118 | 116 | 114 | 106 | 101 | 94 | 95 | 99 | 103 | 119 | 110 | 115 | 119 | 102 | 110 | 119 | 113 | 114 | 103 | 118 | 104 | 113 | 98 | 103 | 106.527273 | NaN | NaN | NaN |
38 | 28/12/2023 | 108 | 96 | 119 | 97 | 109 | 98 | 92 | 111 | 116 | 101 | 116 | 114 | 100 | 100 | 99 | 94 | 99 | 111 | 105 | 105 | 99 | 118 | 121 | 113 | 103 | 100 | 96 | 95 | 114 | 103 | 104 | 119 | 116 | 114 | 106 | 101 | 94 | 95 | 99 | 104 | 119 | 110 | 115 | 119 | 103 | 110 | 119 | 113 | 114 | 103 | 118 | 105 | 113 | 98 | 103 | 106.654545 | NaN | NaN | NaN |
39 | 30/12/2023 | 108 | 97 | 119 | 97 | 109 | 98 | 92 | 111 | 117 | 101 | 116 | 114 | 100 | 100 | 99 | 94 | 100 | 111 | 105 | 105 | 99 | 118 | 121 | 113 | 103 | 100 | 96 | 95 | 115 | 103 | 104 | 120 | 116 | 114 | 106 | 101 | 94 | 96 | 99 | 104 | 119 | 110 | 115 | 119 | 103 | 110 | 119 | 113 | 114 | 103 | 118 | 106 | 113 | 98 | 103 | 106.780000 | NaN | NaN | NaN |
40 | 2/1/2024 | 108 | 98 | 119 | 97 | 110 | 98 | 92 | 111 | 117 | 101 | 116 | 114 | 100 | 100 | 99 | 94 | 100 | 112 | 105 | 106 | 99 | 118 | 121 | 113 | 103 | 100 | 96 | 95 | 115 | 103 | 105 | 120 | 116 | 114 | 106 | 101 | 95 | 96 | 99 | 104 | 119 | 110 | 115 | 119 | 104 | 110 | 119 | 113 | 114 | 103 | 118 | 106 | 113 | 98 | 103 | 106.909091 | NaN | NaN | NaN |
41 | 4/1/2024 | 108 | 98 | 119 | 97 | 110 | 98 | 93 | 111 | 117 | 101 | 116 | 114 | 100 | 100 | 99 | 94 | 100 | 112 | 105 | 106 | 99 | 118 | 121 | 113 | 103 | 100 | 96 | 96 | 115 | 103 | 105 | 120 | 116 | 115 | 106 | 101 | 96 | 96 | 99 | 104 | 119 | 110 | 116 | 119 | 104 | 110 | 119 | 113 | 114 | 103 | 118 | 107 | 113 | 99 | 103 | 107.036364 | NaN | NaN | NaN |
42 | 6/1/2024 | 108 | 98 | 119 | 97 | 110 | 98 | 93 | 111 | 117 | 101 | 117 | 114 | 100 | 100 | 100 | 94 | 101 | 112 | 105 | 106 | 100 | 118 | 121 | 114 | 103 | 100 | 96 | 96 | 115 | 103 | 105 | 120 | 116 | 116 | 106 | 101 | 96 | 96 | 99 | 104 | 119 | 110 | 116 | 119 | 104 | 111 | 119 | 113 | 114 | 103 | 118 | 107 | 113 | 99 | 103 | 107.160000 | NaN | NaN | NaN |
43 | 9/1/2024 | 108 | 98 | 119 | 97 | 110 | 98 | 93 | 111 | 117 | 101 | 117 | 114 | 100 | 100 | 100 | 95 | 101 | 112 | 105 | 106 | 100 | 118 | 121 | 114 | 103 | 100 | 96 | 96 | 115 | 103 | 105 | 121 | 116 | 116 | 106 | 101 | 96 | 96 | 99 | 104 | 119 | 110 | 116 | 119 | 105 | 111 | 119 | 113 | 114 | 104 | 118 | 108 | 114 | 100 | 103 | 107.290909 | NaN | NaN | NaN |
44 | 11/1/2024 | 108 | 99 | 119 | 97 | 110 | 98 | 93 | 111 | 117 | 101 | 117 | 114 | 100 | 100 | 100 | 95 | 101 | 112 | 105 | 106 | 100 | 118 | 122 | 114 | 103 | 100 | 96 | 97 | 115 | 103 | 105 | 122 | 116 | 116 | 106 | 101 | 96 | 96 | 99 | 104 | 119 | 110 | 116 | 120 | 105 | 111 | 119 | 113 | 114 | 104 | 119 | 109 | 114 | 100 | 103 | 107.420000 | NaN | NaN | NaN |
45 | 13/1/2024 | 109 | 99 | 119 | 97 | 111 | 98 | 94 | 111 | 117 | 101 | 117 | 114 | 100 | 100 | 100 | 95 | 101 | 112 | 105 | 106 | 101 | 118 | 123 | 114 | 103 | 100 | 96 | 97 | 115 | 103 | 105 | 122 | 116 | 116 | 107 | 101 | 96 | 96 | 99 | 104 | 119 | 111 | 116 | 120 | 105 | 111 | 119 | 113 | 114 | 104 | 119 | 109 | 114 | 100 | 103 | 107.550000 | NaN | NaN | NaN |
46 | 16/1/2024 | 109 | 99 | 119 | 97 | 111 | 98 | 94 | 111 | 118 | 101 | 117 | 114 | 100 | 101 | 100 | 95 | 101 | 113 | 105 | 107 | 101 | 118 | 123 | 114 | 103 | 100 | 97 | 97 | 115 | 103 | 105 | 122 | 116 | 116 | 107 | 101 | 96 | 96 | 99 | 104 | 119 | 112 | 117 | 120 | 105 | 111 | 119 | 113 | 114 | 104 | 119 | 109 | 114 | 100 | 103 | 107.670000 | NaN | NaN | NaN |
47 | 18/1/2024 | 109 | 99 | 119 | 97 | 111 | 98 | 94 | 111 | 118 | 101 | 117 | 115 | 100 | 101 | 100 | 95 | 101 | 113 | 105 | 108 | 101 | 118 | 123 | 114 | 103 | 100 | 97 | 97 | 115 | 103 | 105 | 122 | 117 | 116 | 108 | 101 | 96 | 97 | 99 | 105 | 119 | 112 | 117 | 120 | 105 | 111 | 119 | 113 | 114 | 104 | 119 | 110 | 114 | 100 | 103 | 107.800000 | NaN | NaN | NaN |
48 | 20/1/2024 | 109 | 99 | 119 | 97 | 111 | 99 | 94 | 111 | 118 | 101 | 117 | 115 | 100 | 101 | 100 | 95 | 101 | 113 | 105 | 108 | 101 | 118 | 123 | 114 | 104 | 100 | 97 | 97 | 116 | 103 | 105 | 122 | 117 | 117 | 108 | 101 | 96 | 98 | 99 | 105 | 119 | 112 | 117 | 120 | 105 | 111 | 119 | 113 | 115 | 104 | 119 | 110 | 114 | 101 | 103 | 107.927273 | NaN | NaN | NaN |
49 | 23/1/2024 | 109 | 99 | 119 | 97 | 111 | 99 | 94 | 111 | 118 | 101 | 117 | 115 | 101 | 101 | 100 | 95 | 101 | 113 | 105 | 108 | 101 | 118 | 124 | 114 | 104 | 100 | 98 | 97 | 116 | 103 | 105 | 123 | 117 | 117 | 108 | 101 | 96 | 98 | 99 | 105 | 119 | 112 | 117 | 120 | 105 | 111 | 119 | 114 | 116 | 104 | 120 | 110 | 114 | 101 | 103 | 108.054546 | NaN | NaN | NaN |
50 | 25/1/2024 | 109 | 99 | 119 | 97 | 111 | 99 | 94 | 111 | 118 | 101 | 117 | 115 | 102 | 101 | 100 | 95 | 102 | 113 | 105 | 108 | 101 | 118 | 124 | 114 | 104 | 100 | 98 | 97 | 116 | 103 | 105 | 123 | 117 | 117 | 109 | 101 | 96 | 99 | 99 | 105 | 119 | 113 | 117 | 120 | 105 | 111 | 119 | 115 | 116 | 104 | 120 | 110 | 114 | 101 | 103 | 108.160000 | NaN | NaN | NaN |
51 | 27/1/2024 | 109 | 99 | 119 | 97 | 111 | 100 | 94 | 111 | 118 | 101 | 117 | 116 | 103 | 101 | 100 | 95 | 102 | 113 | 105 | 108 | 101 | 118 | 124 | 114 | 104 | 100 | 98 | 97 | 116 | 103 | 105 | 123 | 117 | 117 | 109 | 101 | 96 | 100 | 99 | 105 | 120 | 113 | 117 | 120 | 105 | 112 | 119 | 115 | 116 | 104 | 120 | 110 | 114 | 101 | 104 | 108.290000 | NaN | NaN | NaN |
52 | 30/1/2024 | 109 | 99 | 120 | 97 | 111 | 100 | 94 | 111 | 119 | 102 | 117 | 116 | 104 | 101 | 100 | 95 | 102 | 113 | 105 | 108 | 101 | 118 | 124 | 114 | 104 | 100 | 98 | 97 | 116 | 103 | 105 | 123 | 117 | 117 | 109 | 101 | 96 | 100 | 99 | 106 | 120 | 113 | 117 | 120 | 105 | 112 | 119 | 115 | 117 | 104 | 120 | 111 | 114 | 101 | 104 | 108.420000 | NaN | NaN | NaN |
53 | 1/2/2024 | 109 | 100 | 120 | 97 | 111 | 100 | 95 | 111 | 119 | 103 | 117 | 116 | 104 | 101 | 100 | 95 | 102 | 113 | 105 | 108 | 101 | 119 | 124 | 114 | 104 | 100 | 98 | 97 | 116 | 103 | 105 | 124 | 117 | 117 | 109 | 101 | 96 | 100 | 100 | 107 | 120 | 113 | 117 | 120 | 105 | 112 | 119 | 115 | 117 | 104 | 120 | 111 | 114 | 101 | 104 | 108.550000 | 1.015799708 | NaN | NaN |
54 | 3/2/2024 | 109 | 100 | 120 | 98 | 111 | 101 | 96 | 111 | 119 | 103 | 117 | 116 | 105 | 101 | 100 | 95 | 102 | 114 | 105 | 108 | 101 | 119 | 124 | 114 | 104 | 101 | 98 | 97 | 116 | 103 | 105 | 124 | 117 | 117 | 109 | 101 | 96 | 100 | 100 | 107 | 120 | 113 | 117 | 120 | 105 | 112 | 119 | 115 | 118 | 104 | 120 | 111 | 114 | 101 | 104 | 108.670000 | 1.037802307 | NaN | NaN |
55 | 6/2/2024 | 109 | 100 | 120 | 98 | 111 | 101 | 96 | 112 | 119 | 103 | 117 | 116 | 105 | 101 | 100 | 95 | 102 | 114 | 106 | 108 | 101 | 119 | 124 | 115 | 104 | 101 | 99 | 97 | 116 | 103 | 105 | 124 | 117 | 118 | 109 | 101 | 96 | 100 | 100 | 107 | 120 | 113 | 117 | 120 | 105 | 113 | 119 | 115 | 118 | 104 | 121 | 111 | 114 | 101 | 104 | 108.800000 | 0.971428571 | NaN | NaN |
56 | 8/2/2024 | 109 | 100 | 120 | 98 | 111 | 101 | 96 | 112 | 119 | 103 | 118 | 116 | 105 | 101 | 100 | 95 | 102 | 114 | 106 | 108 | 101 | 120 | 124 | 115 | 104 | 101 | 99 | 97 | 116 | 103 | 106 | 124 | 117 | 118 | 110 | 102 | 96 | 101 | 100 | 107 | 120 | 114 | 117 | 120 | 105 | 113 | 119 | 115 | 118 | 104 | 121 | 111 | 114 | 101 | 104 | 108.930000 | NaN | NaN | NaN |
57 | 13/2/2024 | 109 | 100 | 120 | 98 | 111 | 101 | 96 | 113 | 119 | 103 | 118 | 116 | 105 | 101 | 100 | 95 | 103 | 115 | 106 | 108 | 101 | 121 | 124 | 115 | 104 | 101 | 99 | 97 | 116 | 103 | 107 | 124 | 117 | 119 | 110 | 102 | 96 | 101 | 100 | 107 | 120 | 114 | 117 | 120 | 105 | 113 | 119 | 115 | 119 | 104 | 121 | 111 | 114 | 101 | 104 | 109.050000 | NaN | NaN | NaN |
58 | 15/2/2024 | 109 | 100 | 121 | 98 | 111 | 101 | 97 | 114 | 119 | 103 | 118 | 116 | 105 | 101 | 100 | 95 | 103 | 116 | 107 | 108 | 102 | 121 | 124 | 115 | 104 | 102 | 99 | 97 | 116 | 103 | 107 | 124 | 117 | 119 | 110 | 102 | 96 | 101 | 100 | 107 | 120 | 114 | 117 | 120 | 105 | 113 | 119 | 115 | 119 | 104 | 121 | 111 | 114 | 101 | 104 | 109.180000 | NaN | NaN | NaN |
59 | 17/2/2024 | 109 | 100 | 121 | 98 | 111 | 101 | 97 | 115 | 119 | 103 | 118 | 117 | 105 | 101 | 100 | 95 | 104 | 116 | 107 | 108 | 102 | 121 | 124 | 115 | 104 | 102 | 100 | 97 | 116 | 103 | 107 | 124 | 117 | 119 | 110 | 102 | 96 | 102 | 100 | 107 | 120 | 114 | 117 | 120 | 105 | 113 | 120 | 115 | 119 | 104 | 121 | 111 | 114 | 101 | 105 | 109.310000 | NaN | NaN | NaN |
60 | 20/2/2024 | 109 | 100 | 121 | 98 | 112 | 101 | 97 | 115 | 119 | 103 | 118 | 117 | 105 | 101 | 100 | 95 | 104 | 116 | 107 | 108 | 102 | 121 | 124 | 115 | 104 | 102 | 100 | 97 | 116 | 103 | 107 | 124 | 117 | 120 | 110 | 102 | 96 | 102 | 100 | 107 | 120 | 114 | 117 | 120 | 105 | 114 | 120 | 115 | 119 | 105 | 122 | 112 | 114 | 101 | 106 | 109.440000 | NaN | NaN | NaN |
61 | 22/2/2024 | 110 | 100 | 121 | 98 | 112 | 101 | 97 | 116 | 119 | 103 | 118 | 117 | 105 | 101 | 100 | 95 | 104 | 116 | 108 | 108 | 102 | 121 | 124 | 116 | 104 | 102 | 100 | 97 | 116 | 103 | 108 | 124 | 117 | 120 | 111 | 102 | 96 | 102 | 100 | 107 | 120 | 114 | 117 | 120 | 105 | 114 | 120 | 115 | 119 | 105 | 122 | 112 | 114 | 101 | 107 | 109.560000 | NaN | NaN | NaN |
62 | 24/2/2024 | 110 | 100 | 122 | 98 | 112 | 101 | 97 | 116 | 119 | 103 | 118 | 117 | 105 | 101 | 100 | 95 | 104 | 116 | 108 | 108 | 102 | 122 | 124 | 116 | 104 | 103 | 101 | 97 | 116 | 103 | 108 | 124 | 117 | 120 | 111 | 102 | 96 | 103 | 100 | 108 | 120 | 114 | 117 | 120 | 105 | 114 | 120 | 115 | 119 | 105 | 122 | 112 | 114 | 101 | 107 | 109.670000 | NaN | NaN | NaN |
# Chuyển đổi cột ngày tháng thành định dạng 'yyyy/mm/dd'
df['Date'] = pd.to_datetime(df['Date'], format='%d/%m/%Y')
# Hiển thị DataFrame đã chuyển đổi
print(f"Date range of gold from - {df.loc[:,'Date'][0]} to {df.loc[:,'Date'][len(df)-1]}")
# Tạo DatetimeIndex từ '9/28/2023' đến ngày cuối cùng trong DataFrame df
daterange = pd.date_range(start='24/09/2023', end=df.loc[:, 'Date'].iloc[-1], freq='D')
formatted_date = daterange.strftime('%d/%m/%Y')
# Thay thế ngày cuối cùng bằng ngày trong DataFrame df
print(formatted_date)
Date range of gold from - 2023-09-28 00:00:00 to 2024-02-24 00:00:00
Index(['24/09/2023', '25/09/2023', '26/09/2023', '27/09/2023', '28/09/2023',
'29/09/2023', '30/09/2023', '01/10/2023', '02/10/2023', '03/10/2023',
...
'15/02/2024', '16/02/2024', '17/02/2024', '18/02/2024', '19/02/2024',
'20/02/2024', '21/02/2024', '22/02/2024', '23/02/2024', '24/02/2024'],
dtype='object', length=154)
df = df.drop_duplicates()
df.shape
(63, 60)
import pandas as pd
import matplotlib.pyplot as plt
# Đọc dữ liệu từ file csv
data = pd.read_csv(r"C:\Python311\workspaces\P6B55.csv")
# Thiết lập kích thước biểu đồ
plt.figure(figsize=(10, 6))
# Vẽ các đường line từ S01 đến S55
for column in data.columns[1:56]:
plt.plot(data['Date'], data[column], label=column)
# Thiết lập tiêu đề và các trục
plt.title('Biểu đồ thống kê số lần')
plt.xlabel('Ngày')
plt.ylabel('Số lần')
# Xoay đứng trục ngày tháng
plt.xticks(rotation='vertical')
# Hiển thị grid
plt.grid(True)
# Hiển thị chú thích
plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left')
# Hiển thị biểu đồ
plt.show()
round(df.describe(),0)
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
Date | S1 | S2 | S3 | S4 | S5 | S6 | S7 | S8 | S9 | S10 | S11 | S12 | S13 | S14 | S15 | S16 | S17 | S18 | S19 | S20 | S21 | S22 | S23 | S24 | S25 | S26 | S27 | S28 | S29 | S30 | S31 | S32 | S33 | S34 | S35 | S36 | S37 | S38 | S39 | S40 | S41 | S42 | S43 | S44 | S45 | S46 | S47 | S48 | S49 | S50 | S51 | S52 | S53 | S54 | S55 | ST | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
count | 63 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 | 63.0 |
mean | 2023-12-11 18:40:00 | 107.0 | 96.0 | 118.0 | 96.0 | 109.0 | 97.0 | 91.0 | 111.0 | 114.0 | 99.0 | 116.0 | 113.0 | 99.0 | 98.0 | 98.0 | 93.0 | 98.0 | 111.0 | 104.0 | 104.0 | 98.0 | 117.0 | 121.0 | 112.0 | 102.0 | 98.0 | 96.0 | 93.0 | 114.0 | 102.0 | 104.0 | 119.0 | 115.0 | 113.0 | 105.0 | 101.0 | 93.0 | 96.0 | 97.0 | 103.0 | 118.0 | 110.0 | 114.0 | 119.0 | 103.0 | 110.0 | 116.0 | 110.0 | 114.0 | 102.0 | 118.0 | 104.0 | 112.0 | 98.0 | 102.0 | 106.0 |
min | 2023-09-28 00:00:00 | 103.0 | 94.0 | 113.0 | 91.0 | 107.0 | 94.0 | 88.0 | 108.0 | 108.0 | 94.0 | 113.0 | 110.0 | 94.0 | 93.0 | 94.0 | 90.0 | 94.0 | 108.0 | 102.0 | 99.0 | 94.0 | 114.0 | 116.0 | 108.0 | 100.0 | 94.0 | 92.0 | 89.0 | 110.0 | 99.0 | 103.0 | 115.0 | 111.0 | 107.0 | 102.0 | 97.0 | 86.0 | 92.0 | 94.0 | 100.0 | 114.0 | 108.0 | 111.0 | 113.0 | 100.0 | 105.0 | 108.0 | 104.0 | 111.0 | 97.0 | 115.0 | 98.0 | 109.0 | 97.0 | 100.0 | 102.0 |
25% | 2023-11-05 12:00:00 | 105.0 | 94.0 | 115.0 | 93.0 | 108.0 | 95.0 | 88.0 | 110.0 | 110.0 | 95.0 | 115.0 | 112.0 | 97.0 | 97.0 | 96.0 | 92.0 | 96.0 | 108.0 | 103.0 | 102.0 | 96.0 | 116.0 | 120.0 | 110.0 | 101.0 | 97.0 | 94.0 | 90.0 | 112.0 | 101.0 | 103.0 | 116.0 | 114.0 | 109.0 | 104.0 | 101.0 | 92.0 | 94.0 | 94.0 | 102.0 | 116.0 | 109.0 | 113.0 | 118.0 | 101.0 | 109.0 | 115.0 | 107.0 | 111.0 | 100.0 | 116.0 | 100.0 | 110.0 | 97.0 | 101.0 | 104.0 |
50% | 2023-12-12 00:00:00 | 107.0 | 96.0 | 118.0 | 97.0 | 109.0 | 98.0 | 92.0 | 111.0 | 115.0 | 100.0 | 115.0 | 113.0 | 99.0 | 98.0 | 97.0 | 94.0 | 98.0 | 110.0 | 105.0 | 104.0 | 98.0 | 117.0 | 120.0 | 112.0 | 102.0 | 99.0 | 95.0 | 94.0 | 113.0 | 101.0 | 103.0 | 117.0 | 116.0 | 112.0 | 105.0 | 101.0 | 94.0 | 95.0 | 97.0 | 102.0 | 118.0 | 110.0 | 113.0 | 119.0 | 101.0 | 109.0 | 118.0 | 110.0 | 113.0 | 103.0 | 118.0 | 103.0 | 112.0 | 98.0 | 103.0 | 106.0 |
75% | 2024-01-17 00:00:00 | 109.0 | 99.0 | 119.0 | 97.0 | 111.0 | 98.0 | 94.0 | 111.0 | 118.0 | 101.0 | 117.0 | 114.0 | 100.0 | 101.0 | 100.0 | 95.0 | 101.0 | 113.0 | 105.0 | 108.0 | 101.0 | 118.0 | 123.0 | 114.0 | 103.0 | 100.0 | 97.0 | 97.0 | 115.0 | 103.0 | 105.0 | 122.0 | 116.0 | 116.0 | 108.0 | 101.0 | 96.0 | 96.0 | 99.0 | 104.0 | 119.0 | 112.0 | 117.0 | 120.0 | 105.0 | 111.0 | 119.0 | 113.0 | 114.0 | 104.0 | 119.0 | 110.0 | 114.0 | 100.0 | 103.0 | 108.0 |
max | 2024-02-24 00:00:00 | 110.0 | 100.0 | 122.0 | 98.0 | 112.0 | 101.0 | 97.0 | 116.0 | 119.0 | 103.0 | 118.0 | 117.0 | 105.0 | 101.0 | 100.0 | 95.0 | 104.0 | 116.0 | 108.0 | 108.0 | 102.0 | 122.0 | 124.0 | 116.0 | 104.0 | 103.0 | 101.0 | 97.0 | 116.0 | 103.0 | 108.0 | 124.0 | 117.0 | 120.0 | 111.0 | 102.0 | 96.0 | 103.0 | 100.0 | 108.0 | 120.0 | 114.0 | 117.0 | 120.0 | 105.0 | 114.0 | 120.0 | 115.0 | 119.0 | 105.0 | 122.0 | 112.0 | 114.0 | 101.0 | 107.0 | 110.0 |
std | NaN | 2.0 | 2.0 | 2.0 | 2.0 | 1.0 | 2.0 | 3.0 | 2.0 | 4.0 | 3.0 | 2.0 | 2.0 | 3.0 | 3.0 | 2.0 | 2.0 | 3.0 | 2.0 | 1.0 | 3.0 | 3.0 | 2.0 | 2.0 | 2.0 | 1.0 | 2.0 | 2.0 | 3.0 | 2.0 | 1.0 | 1.0 | 3.0 | 2.0 | 4.0 | 3.0 | 1.0 | 3.0 | 3.0 | 2.0 | 2.0 | 2.0 | 2.0 | 2.0 | 2.0 | 2.0 | 2.0 | 3.0 | 4.0 | 3.0 | 2.0 | 2.0 | 5.0 | 2.0 | 2.0 | 2.0 | 2.0 |
df.columns
Index(['Date', 'S1', 'S2', 'S3', 'S4', 'S5', 'S6', 'S7', 'S8', 'S9', 'S10',
'S11', 'S12', 'S13', 'S14', 'S15', 'S16', 'S17', 'S18', 'S19', 'S20',
'S21', 'S22', 'S23', 'S24', 'S25', 'S26', 'S27', 'S28', 'S29', 'S30',
'S31', 'S32', 'S33', 'S34', 'S35', 'S36', 'S37', 'S38', 'S39', 'S40',
'S41', 'S42', 'S43', 'S44', 'S45', 'S46', 'S47', 'S48', 'S49', 'S50',
'S51', 'S52', 'S53', 'S54', 'S55', 'ST', 'Link', 'Type', 'BD'],
dtype='object')
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 63 entries, 0 to 62
Data columns (total 60 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Date 63 non-null datetime64[ns]
1 S1 63 non-null int64
2 S2 63 non-null int64
3 S3 63 non-null int64
4 S4 63 non-null int64
5 S5 63 non-null int64
6 S6 63 non-null int64
7 S7 63 non-null int64
8 S8 63 non-null int64
9 S9 63 non-null int64
10 S10 63 non-null int64
11 S11 63 non-null int64
12 S12 63 non-null int64
13 S13 63 non-null int64
14 S14 63 non-null int64
15 S15 63 non-null int64
16 S16 63 non-null int64
17 S17 63 non-null int64
18 S18 63 non-null int64
19 S19 63 non-null int64
20 S20 63 non-null int64
21 S21 63 non-null int64
22 S22 63 non-null int64
23 S23 63 non-null int64
24 S24 63 non-null int64
25 S25 63 non-null int64
26 S26 63 non-null int64
27 S27 63 non-null int64
28 S28 63 non-null int64
29 S29 63 non-null int64
30 S30 63 non-null int64
31 S31 63 non-null int64
32 S32 63 non-null int64
33 S33 63 non-null int64
34 S34 63 non-null int64
35 S35 63 non-null int64
36 S36 63 non-null int64
37 S37 63 non-null int64
38 S38 63 non-null int64
39 S39 63 non-null int64
40 S40 63 non-null int64
41 S41 63 non-null int64
42 S42 63 non-null int64
43 S43 63 non-null int64
44 S44 63 non-null int64
45 S45 63 non-null int64
46 S46 63 non-null int64
47 S47 63 non-null int64
48 S48 63 non-null int64
49 S49 63 non-null int64
50 S50 63 non-null int64
51 S51 63 non-null int64
52 S52 63 non-null int64
53 S53 63 non-null int64
54 S54 63 non-null int64
55 S55 63 non-null int64
56 ST 63 non-null float64
57 Link 4 non-null object
58 Type 1 non-null object
59 BD 1 non-null object
dtypes: datetime64[ns](1), float64(1), int64(55), object(3)
memory usage: 29.7+ KB
df.isnull().sum()
Date 0
S1 0
S2 0
S3 0
S4 0
S5 0
S6 0
S7 0
S8 0
S9 0
S10 0
S11 0
S12 0
S13 0
S14 0
S15 0
S16 0
S17 0
S18 0
S19 0
S20 0
S21 0
S22 0
S23 0
S24 0
S25 0
S26 0
S27 0
S28 0
S29 0
S30 0
S31 0
S32 0
S33 0
S34 0
S35 0
S36 0
S37 0
S38 0
S39 0
S40 0
S41 0
S42 0
S43 0
S44 0
S45 0
S46 0
S47 0
S48 0
S49 0
S50 0
S51 0
S52 0
S53 0
S54 0
S55 0
ST 0
Link 59
Type 62
BD 62
dtype: int64
df.isnull()
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
Date | S1 | S2 | S3 | S4 | S5 | S6 | S7 | S8 | S9 | S10 | S11 | S12 | S13 | S14 | S15 | S16 | S17 | S18 | S19 | S20 | S21 | S22 | S23 | S24 | S25 | S26 | S27 | S28 | S29 | S30 | S31 | S32 | S33 | S34 | S35 | S36 | S37 | S38 | S39 | S40 | S41 | S42 | S43 | S44 | S45 | S46 | S47 | S48 | S49 | S50 | S51 | S52 | S53 | S54 | S55 | ST | Link | Type | BD | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False |
1 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
2 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
3 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
4 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
5 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
6 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
7 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
8 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
9 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
10 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
11 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
12 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
13 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
14 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
15 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
16 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
17 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
18 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
19 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
20 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
21 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
22 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
23 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
24 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
25 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
26 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
27 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
28 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
29 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
30 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
31 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
32 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
33 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
34 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
35 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
36 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
37 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
38 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
39 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
40 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
41 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
42 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
43 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
44 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
45 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
46 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
47 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
48 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
49 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
50 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
51 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
52 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
53 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True |
54 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True |
55 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True |
56 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
57 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
58 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
59 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
60 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
61 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
62 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | True | True |
df.duplicated().sum()
0
#EDA
df.describe().T
# Trong hàm df.describe().T, cột "std" đại diện cho độ lệch chuẩn (standard deviation) của dữ liệu trong các cột tương ứng.
# Độ lệch chuẩn là một số đo mô tả mức độ phân tán của dữ liệu xung quanh giá trị trung bình.
# Công thức tính độ lệch chuẩn là căn bậc hai của phương sai (variance), và được tính bằng cách lấy căn bậc hai của trung bình của
# bình phương của độ lệch của mỗi giá trị dữ liệu so với giá trị trung bình. Công thức chính xác như sau:
# std = sqrt(mean((x - x.mean())**2))
# Trong trường hợp của bạn, giá trị "std" là 1.8959 cho một cột và 2.03572 cho cột khác.
# Khi so sánh giá trị độ lệch chuẩn giữa các cột, giá trị lớn hơn có nghĩa là dữ liệu trong cột đó có mức độ phân tán lớn hơn so với cột khác.
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
count | mean | min | 25% | 50% | 75% | max | std | |
---|---|---|---|---|---|---|---|---|
Date | 63 | 2023-12-11 18:40:00 | 2023-09-28 00:00:00 | 2023-11-05 12:00:00 | 2023-12-12 00:00:00 | 2024-01-17 00:00:00 | 2024-02-24 00:00:00 | NaN |
S1 | 63.0 | 106.873016 | 103.0 | 105.0 | 107.0 | 109.0 | 110.0 | 1.987802 |
S2 | 63.0 | 96.47619 | 94.0 | 94.0 | 96.0 | 99.0 | 100.0 | 2.292042 |
S3 | 63.0 | 117.714286 | 113.0 | 115.0 | 118.0 | 119.0 | 122.0 | 2.135934 |
S4 | 63.0 | 95.666667 | 91.0 | 93.0 | 97.0 | 97.0 | 98.0 | 2.055677 |
S5 | 63.0 | 109.301587 | 107.0 | 108.0 | 109.0 | 111.0 | 112.0 | 1.398558 |
S6 | 63.0 | 97.174603 | 94.0 | 95.0 | 98.0 | 98.0 | 101.0 | 2.261456 |
S7 | 63.0 | 91.460317 | 88.0 | 88.0 | 92.0 | 94.0 | 97.0 | 3.047079 |
S8 | 63.0 | 110.952381 | 108.0 | 110.0 | 111.0 | 111.0 | 116.0 | 1.590583 |
S9 | 63.0 | 113.936508 | 108.0 | 110.0 | 115.0 | 118.0 | 119.0 | 4.007545 |
S10 | 63.0 | 98.698413 | 94.0 | 95.0 | 100.0 | 101.0 | 103.0 | 3.319711 |
S11 | 63.0 | 115.571429 | 113.0 | 115.0 | 115.0 | 117.0 | 118.0 | 1.531542 |
S12 | 63.0 | 113.285714 | 110.0 | 111.5 | 113.0 | 114.5 | 117.0 | 2.120777 |
S13 | 63.0 | 99.349206 | 94.0 | 97.0 | 99.0 | 100.0 | 105.0 | 3.085652 |
S14 | 63.0 | 98.190476 | 93.0 | 97.0 | 98.0 | 101.0 | 101.0 | 2.54544 |
S15 | 63.0 | 97.714286 | 94.0 | 96.0 | 97.0 | 100.0 | 100.0 | 2.051188 |
S16 | 63.0 | 93.126984 | 90.0 | 92.0 | 94.0 | 95.0 | 95.0 | 1.78246 |
S17 | 63.0 | 98.412698 | 94.0 | 96.0 | 98.0 | 101.0 | 104.0 | 3.155307 |
S18 | 63.0 | 110.84127 | 108.0 | 108.5 | 110.0 | 113.0 | 116.0 | 2.470512 |
S19 | 63.0 | 104.492063 | 102.0 | 103.0 | 105.0 | 105.0 | 108.0 | 1.29357 |
S20 | 63.0 | 104.349206 | 99.0 | 102.5 | 104.0 | 107.5 | 108.0 | 2.701008 |
S21 | 63.0 | 98.0 | 94.0 | 96.0 | 98.0 | 101.0 | 102.0 | 2.596524 |
S22 | 63.0 | 117.222222 | 114.0 | 116.0 | 117.0 | 118.0 | 122.0 | 1.912981 |
S23 | 63.0 | 121.0 | 116.0 | 120.0 | 120.0 | 123.0 | 124.0 | 2.071309 |
S24 | 63.0 | 112.126984 | 108.0 | 110.0 | 112.0 | 114.0 | 116.0 | 2.098325 |
S25 | 63.0 | 102.079365 | 100.0 | 101.0 | 102.0 | 103.0 | 104.0 | 1.45138 |
S26 | 63.0 | 98.428571 | 94.0 | 97.0 | 99.0 | 100.0 | 103.0 | 2.353544 |
S27 | 63.0 | 95.587302 | 92.0 | 94.0 | 95.0 | 97.0 | 101.0 | 2.084001 |
S28 | 63.0 | 93.380952 | 89.0 | 90.5 | 94.0 | 97.0 | 97.0 | 3.118253 |
S29 | 63.0 | 113.539683 | 110.0 | 112.0 | 113.0 | 115.0 | 116.0 | 1.838876 |
S30 | 63.0 | 101.777778 | 99.0 | 101.0 | 101.0 | 103.0 | 103.0 | 1.113617 |
S31 | 63.0 | 104.047619 | 103.0 | 103.0 | 103.0 | 105.0 | 108.0 | 1.407681 |
S32 | 63.0 | 118.587302 | 115.0 | 116.0 | 117.0 | 122.0 | 124.0 | 3.406043 |
S33 | 63.0 | 115.111111 | 111.0 | 114.0 | 116.0 | 116.5 | 117.0 | 1.751599 |
S34 | 63.0 | 112.650794 | 107.0 | 109.0 | 112.0 | 116.0 | 120.0 | 4.04873 |
S35 | 63.0 | 105.428571 | 102.0 | 103.5 | 105.0 | 107.5 | 111.0 | 2.780777 |
S36 | 63.0 | 100.730159 | 97.0 | 101.0 | 101.0 | 101.0 | 102.0 | 0.970639 |
S37 | 63.0 | 93.095238 | 86.0 | 92.0 | 94.0 | 96.0 | 96.0 | 3.019903 |
S38 | 63.0 | 96.047619 | 92.0 | 94.0 | 95.0 | 96.5 | 103.0 | 2.732295 |
S39 | 63.0 | 96.968254 | 94.0 | 94.0 | 97.0 | 99.0 | 100.0 | 2.33465 |
S40 | 63.0 | 103.190476 | 100.0 | 102.0 | 102.0 | 104.5 | 108.0 | 2.169117 |
S41 | 63.0 | 117.746032 | 114.0 | 116.0 | 118.0 | 119.0 | 120.0 | 1.731755 |
S42 | 63.0 | 110.412698 | 108.0 | 109.0 | 110.0 | 112.0 | 114.0 | 1.897663 |
S43 | 63.0 | 114.301587 | 111.0 | 113.0 | 113.0 | 117.0 | 117.0 | 2.037035 |
S44 | 63.0 | 118.52381 | 113.0 | 118.0 | 119.0 | 120.0 | 120.0 | 1.644709 |
S45 | 63.0 | 102.539683 | 100.0 | 101.0 | 101.0 | 105.0 | 105.0 | 1.847626 |
S46 | 63.0 | 109.714286 | 105.0 | 109.0 | 109.0 | 111.0 | 114.0 | 2.105512 |
S47 | 63.0 | 116.333333 | 108.0 | 115.0 | 118.0 | 119.0 | 120.0 | 3.287317 |
S48 | 63.0 | 110.253968 | 104.0 | 107.0 | 110.0 | 113.0 | 115.0 | 3.754431 |
S49 | 63.0 | 113.539683 | 111.0 | 111.0 | 113.0 | 114.0 | 119.0 | 2.650778 |
S50 | 63.0 | 101.666667 | 97.0 | 100.0 | 103.0 | 104.0 | 105.0 | 2.293047 |
S51 | 63.0 | 117.793651 | 115.0 | 116.0 | 118.0 | 119.0 | 122.0 | 2.017334 |
S52 | 63.0 | 104.492063 | 98.0 | 100.5 | 103.0 | 109.5 | 112.0 | 4.624176 |
S53 | 63.0 | 111.888889 | 109.0 | 110.0 | 112.0 | 114.0 | 114.0 | 1.814912 |
S54 | 63.0 | 98.492063 | 97.0 | 97.0 | 98.0 | 100.0 | 101.0 | 1.644865 |
S55 | 63.0 | 102.444444 | 100.0 | 101.0 | 103.0 | 103.0 | 107.0 | 1.643931 |
ST | 63.0 | 105.867662 | 102.0 | 104.015 | 105.763636 | 107.735 | 109.67 | 2.202043 |
df.describe(include="object")
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
Link | Type | BD | |
---|---|---|---|
count | 4 | 1 | 1 |
unique | 4 | 1 | 1 |
top | https://vietlott.vn/vi/choi/power-6-55/thong-k... | P7B55 | 01.08.2017 |
freq | 1 | 1 | 1 |
import warnings
warnings.filterwarnings('ignore')
for i in df.select_dtypes(include="number").columns:
plt.figure(figsize=(15,6))
sns.kdeplot(data=df,x=i)
plt.show()
#Để vẽ đồ thị mật độ (density plot) kèm theo độ lệch chuẩn (standard deviation),
#bạn có thể sử dụng thư viện seaborn và matplotlib trong Python. Dưới đây là một ví dụ về cách thực hiện điều này:
# Trong đoạn mã trên, chúng ta sử dụng vòng lặp để duyệt qua từng cột là kiểu dữ liệu số trong dataframe (df).
#Sau đó, chúng ta vẽ đồ thị mật độ bằng hàm kdeplot từ thư viện seaborn.
#Để xác định độ lệch chuẩn, chúng ta sử dụng hàm mean() để tính giá trị trung bình và hàm std()
#để tính độ lệch chuẩn của cột tương ứng. Cuối cùng, chúng ta sử dụng hàm axvline() từ matplotlib
#để vẽ các đường dọc đại diện cho giá trị trung bình và độ lệch chuẩn.
# Lưu ý rằng đoạn mã trên giả định rằng dữ liệu trong dataframe của bạn đã được đọc và xử lý đúng cách trước đó.
import seaborn as sns
import matplotlib.pyplot as plt
# Vẽ đồ thị mật độ kèm theo độ lệch chuẩn
for col in df.select_dtypes(include="number").columns:
plt.figure(figsize=(15, 6))
sns.kdeplot(data=df, x=col)
mean = df[col].mean()
std = df[col].std()
plt.axvline(x=mean, color='r', linestyle='--', label='Mean')
plt.axvline(x=mean + std, color='g', linestyle='--', label='Mean + Std')
plt.axvline(x=mean - std, color='g', linestyle='--', label='Mean - Std')
plt.legend()
plt.show()
- Chú thích: Hàm sns.boxplot trong thư viện Seaborn được sử dụng để vẽ biểu đồ hộp (box plot). Biểu đồ hộp cho phép chúng ta hiển thị phân phối của một biến dữ liệu và các thông số thống kê liên quan. Thông qua biểu đồ hộp, chúng ta có thể trực quan hóa các thông số như giá trị trung vị (median), phạm vi (range), tứ phân vị (quartiles), và các giá trị ngoại lệ (outliers). Điều này giúp chúng ta có cái nhìn tổng quan về sự phân bố và biến động của dữ liệu
Tuy nhiên, trong phân tích giá trị về diễn biến tổng khối lượng so với giá trị diễn biến thay đổi như nến (volume trong chứng khoán), biểu đồ hộp có thể không phù ợp. Thông thường, biểu đồ hộp được sử dụng để phân tích các biến dữ liệu số (numerical variables) và không có sự phụ thuộc giữa các mẫu dữ li u.
Trong trường hợp giá trị diễn biến tổng khối lượng và giá trị diễn biến thay đổi như nến trong chứng khoán, có thể sử dụng các biểu đồ khác như biểu đồ đường (line plot) hoặc biểu đồ thanh (bar plot) để biểu diễn sự biến đổi của dữ liệu theo thời gian hoặc các nhóm khác nhau.
for i in df.select_dtypes(include="number").columns:
plt.figure(figsize=(15,6))
sns.boxplot(data=df,x=i)
plt.show()
Biểu đồ phân tán biểu thị các điểm dữ liệu trên một không gian hai chiều, trong đó mỗi điểm dữ liệu được đại diện bởi một điểm trên biểu đồ. Trục x và trục y thường biểu thị hai biến dữ liệu mà chúng ta muốn so sánh. Điểm dữ liệu trên biểu đồ phân tán có thể có các mức độ tương quan khác nhau, từ tương quan dương (các điểm tăng theo cùng một hướng) đến tương quan âm (các điểm giảm theo cùng một hướng) và không có tương quan.
Biểu đồ phân tán giúp chúng ta đánh giá mức độ phân bố và độ thay đổi của dữ liệu số. Nó cho phép chúng ta xem xét các mẫu dữ liệu và tìm hiểu mối quan hệ giữa các biến số. Bằng cách xem xét biểu đồ phân tán, chúng ta có thể nhận ra các mẫu, xu hướng và sự biến đổi trong dữ liệu.
Tóm lại, hàm sns.scatterplot cho phép chúng ta so sánh và phân tích mối quan hệ giữa hai biến số, từ đó xác định được độ phân bố và độ thay đổi của dữ liệu số.
import seaborn as sns
import matplotlib.pyplot as plt
for i in ['S1', 'S2', 'S3', 'S4', 'S5', 'S6', 'S7', 'S8', 'S9',
'S10', 'S11', 'S12', 'S13', 'S14', 'S15', 'S16', 'S17', 'S18', 'S19',
'S20', 'S21', 'S22', 'S23', 'S24', 'S25', 'S26', 'S27', 'S28', 'S29',
'S30', 'S31', 'S32', 'S33', 'S34', 'S35', 'S36', 'S37', 'S38', 'S39',
'S40', 'S41', 'S42', 'S43', 'S44', 'S45', 'S46', 'S47', 'S48', 'S49',
'S50', 'S51', 'S52', 'S53', 'S54', 'S55']:
plt.figure(figsize=(15,6))
sns.scatterplot(data=df,y='Date',x=i)
plt.grid()
plt.show()
Hàm sns.kdeplot trong thư viện Seaborn được sử dụng để vẽ đồ thị mật độ kernel (kernel density plot), biểu diễn phân bố xác suất của một biến số. Nó tạo ra một đường cong mượt để cho thấy mật độ xác suất của dữ liệu. Điều này giúp chúng ta xác định các đỉnh, đồi, và đáy của phân bố và hiểu rõ hơn về phân phối của biến số.
Khi kết hợp với hàm sns.scatterplot, chúng ta có thể đồng thời hiển thị cả mô hình phân bố và mối quan hệ giữa hai biến số. Bằng cách sử dụng sns.kdeplot để vẽ đường cong mật độ kernel cho mỗi biến số và sử dụng sns.scatterplot để vẽ các điểm dữ liệu tương ứng, chúng ta có thể quan sát cả mô hình phân bố và mối quan hệ tương quan giữa hai biến.
Việc kết hợp hai hàm này cho phép chúng ta nhìn thấy một cách trực quan mối quan hệ giữa các biến số và biết được cách chúng phân bố trong không gian. Điều này có thể giúp chúng ta tìm ra các mẫu, xu hướng, và sự biến đổi trong dữ liệu, cung cấp thông tin quan trọng cho phân tích và hiểu rõ hơn về mối quan hệ giữa các biến số.
Tóm lại, việc kết hợp hàm sns.kdeplot và sns.scatterplot cho phép chúng ta trực quan hóa đồ thị mật độ kernel và biểu đồ phân tán để cung cấp cái nhìn toàn diện hơn về phân bố và mối quan hệ giữa hai biến số.
import seaborn as sns
import matplotlib.pyplot as plt
# Vẽ đồ thị phân bố sắp xếp giá trị số lần theo ngày
for i in ['S1', 'S2', 'S3', 'S4', 'S5', 'S6', 'S7', 'S8', 'S9',
'S10', 'S11', 'S12', 'S13', 'S14', 'S15', 'S16', 'S17', 'S18', 'S19',
'S20', 'S21', 'S22', 'S23', 'S24', 'S25', 'S26', 'S27', 'S28', 'S29',
'S30', 'S31', 'S32', 'S33', 'S34', 'S35', 'S36', 'S37', 'S38', 'S39',
'S40', 'S41', 'S42', 'S43', 'S44', 'S45', 'S46', 'S47', 'S48', 'S49',
'S50', 'S51', 'S52', 'S53', 'S54', 'S55']:
plt.figure(figsize=(15, 6))
sns.kdeplot(data=df, y='Date', x=i)
sns.scatterplot(data=df, y='Date', x=i, color='red')
std = df[i].std()
plt.axvline(x=std, color='g', linestyle='--', label='Std')
plt.xlabel(i + 'std')
plt.ylabel('Date')
plt.legend()
plt.grid()
plt.show()
- Điều này cho thấy việc tổ chức dữ liệu chi tiết phải được nghiên cứu và sửa lại thành mảng ma trận chữ nhật có cột thể hiện 7 số hãng và dòng phải có tối thiểu 29 - 31 dòng.
- Vị trí các số hạng phải được bố trí ở các cột và khi thay đổi theo giải quay hàng kỳ sẽ chỉ thay đổi theo dòng và cột (các giá trị cũ chỉ thay đổi xuống theo từng dòng).
# Lập bảng ma trận nhiều kỳ quay lote > Chart Cluster Stack P7B55 (17.2.2024)
import networkx as nx
import matplotlib.pyplot as plt
# Tạo đồ thị
G = nx.Graph()
# Thêm các nút vào đồ thị
sequences = [
[60,61,62,63,64,65,66,67,68,69], #x???
[8,12,17,27,38,55,47], #1
[3,7,18,19,21,26], #2
[22,31,34,49], #3
[11,35,36,42], #4
[24,39,46,51], #5
[4,6,13], #6
[32,40], #7
[2,9,10,52], #8
[41], #9
[48], #10
[23], #11
[25,29,54], #12
[20,33], #13
[14,43], #14
[1,5], #15
[28,44], #16
[16,45,50,53], #17
[15], #18
[37], #19
[], #20
[], #21
[30], #22
[], #23
[], #24
[], #25
[], #26
[], #27
[], #28
[], #29
]
#10 chọn liên tiếp tăng sau 10 kỳ gần nhất: 3(10), 26(10), 2(11), 7(14), 8(29), 13(13), 28(17), 30(11), 31(12), 33(14), 35(21), 40(21), 44(13)
for i, sequence in enumerate(sequences):
for j, number in enumerate(sequence):
G.add_node(f"{i+1}.{j+1}", label=number)
# Thêm các cạnh cho quan hệ hình cây số học
for i in range(len(sequences)-1):
for j in range(len(sequences[i])):
G.add_edge(f"{i+1}.{j+1}", f"{i+2}.{j//2+1}")
# Vẽ đồ thị
pos = nx.spring_layout(G) # Vị trí các nút
labels = nx.get_node_attributes(G, 'label') # Nhãn của các nút
plt.figure(figsize=(15, 6))
nx.draw_networkx(G, pos, labels=labels, node_size=100, font_size=9, font_color='red', node_color='none', edge_color='gray')
plt.axis('off')
plt.show()
from matplotlib import pyplot as plt
import numpy as np
# Generate 100 random data points along 3 dimensions, ranging from 1 to 45
x = np.random.choice([5,8,11,19,25,30,31,36,55], size=56)
y = np.random.choice([1,2,3,4,5,6,8,9,10,11,12,13,14,15,16,17,18,19,21,22,24,26,29,30,31,32,33,34,36,37,38,39,41,42,43,44,45,47,48,50,51,52,53,54,55], size=56)
scale = np.random.choice([1,2,3,5,7,9,10,11,12,14,15,16,18,20,21,22,23,25,27,28,29,30,31,32,33,35,37,38,39,40,41,42,43,44,45,48,49,50,51,52,53], size=56)
# Tạo hình ảnh với kích thước cửa sổ màn hình
figure_width, figure_height = plt.rcParams['figure.figsize']
fig, ax = plt.subplots(figsize=(figure_width, figure_height))
#fig, ax = plt.subplots()
# Map each onto a scatterplot we'll create with Matplotlib
ax.scatter(x=x, y=y, c=scale, s=np.abs(scale)*3)
ax.set(title="Some random data, created with JupyterLab!")
# Thêm label tên các số trên trục y
yticks = np.unique(y)
xticks = np.unique(x)
ax.set_xticks(xticks)
ax.set_xticklabels(xticks)
ax.set_yticks(yticks)
ax.set_yticklabels(yticks)
# Đặt tỉ lệ cho trục y
ax.set_aspect('auto')
plt.grid()
plt.show()
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import pyplot as plt
import numpy as np
# Generate 100 random data points along 3 dimensions, ranging from 1 to 45
x = np.random.choice([1,2,3,5,7,9,10,11,12,14,15,16,18,20,21,22,23,25,27,28,29,30,31,32,33,35,37,38,39,40,41,42,43,44,45,48,49,50,51,52,53], size=45)
y = np.random.choice([1,2,3,5,7,9,10,11,12,14,15,16,18,20,21,22,23,25,27,28,29,30,31,32,33,35,37,38,39,40,41,42,43,44,45,48,49,50,51,52,53], size=45)
scale = np.random.choice([1,2,3,5,7,9,10,11,12,14,15,16,18,20,21,22,23,25,27,28,29,30,31,32,33,35,37,38,39,40,41,42,43,44,45,48,49,50,51,52,53], size=45)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# Map each onto a 3D scatterplot
ax.scatter(x, y, scale)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Scale')
ax.set_title('Some random data, created with JupyterLab!')
plt.show()
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import pyplot as plt
import numpy as np
# Generate random data points along 6 dimensions
x = np.random.choice(range(1, 10), size=100)
y = np.random.choice(range(1, 10), size=100)
z = np.random.choice(range(1, 10), size=100)
a = np.random.choice(range(1, 10), size=100)
b = np.random.choice(range(1, 10), size=100)
c = np.random.choice(range(1, 10), size=100)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# Map each onto a 3D scatterplot
ax.scatter(x, y, z, c=a, s=b*10, alpha=c/10)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.set_title('6D Data')
plt.show()
import numpy as np
# Assuming you have sequences as a list of lists
sequences = [
[33,35,14,1,2],
[9,20,12,5,27],
[52,18,40,38,16],
[28,21,7,42,43],
[11,45,44,32,23],
[37,15,53,50,51],
[31,29,30,10,22],
[25,39,49,41,48],
]
# Step 1: Calculate Correlation
correlation_matrix = np.corrcoef(sequences)
# Step 2: Calculate Density
density_values = [len(seq) / float(max(len(seq) for seq in sequences)) for seq in sequences]
# Step 3: Calculate Rating (using a custom complexity metric)
def calculate_rating(sequence):
# Implement your complexity metric here and return the rating
# This can involve calculations based on the values and patterns within the sequence
rating = ...
return rating
ratings = [calculate_rating(seq) for seq in sequences]
# Print the correlation, density, and rating for each sequence
for i, sequence in enumerate(sequences):
print(f"Sequence {i+1}:")
print(f"Correlation: {correlation_matrix[i]}")
print(f"Density: {density_values[i]}")
print(f"Rating: {ratings[i]}")
print()
Sequence 1:
Correlation: [ 1. -0.02936609 0.18658581 -0.51864066 -0.00318339 -0.82641389
0.76148697 -0.66801501]
Density: 1.0
Rating: Ellipsis
Sequence 2:
Correlation: [-0.02936609 1. -0.85191055 0.12806596 0.08825973 -0.19775868
0.2628589 0.42467207]
Density: 1.0
Rating: Ellipsis
Sequence 3:
Correlation: [ 0.18658581 -0.85191055 1. -0.24397437 -0.40341927 0.27814777
0.11889916 -0.56886749]
Density: 1.0
Rating: Ellipsis
Sequence 4:
Correlation: [-0.51864066 0.12806596 -0.24397437 1. -0.54861518 0.21385337
-0.73000925 -0.08323958]
Density: 1.0
Rating: Ellipsis
Sequence 5:
Correlation: [-0.00318339 0.08825973 -0.40341927 -0.54861518 1. -0.21661886
0.01973973 0.61254202]
Density: 1.0
Rating: Ellipsis
Sequence 6:
Correlation: [-0.82641389 -0.19775868 0.27814777 0.21385337 -0.21661886 1.
-0.41447526 0.45999213]
Density: 1.0
Rating: Ellipsis
Sequence 7:
Correlation: [ 0.76148697 0.2628589 0.11889916 -0.73000925 0.01973973 -0.41447526
1. -0.25620995]
Density: 1.0
Rating: Ellipsis
Sequence 8:
Correlation: [-0.66801501 0.42467207 -0.56886749 -0.08323958 0.61254202 0.45999213
-0.25620995 1. ]
Density: 1.0
Rating: Ellipsis
5. Các Hàm thủ tục nâng cao trong kiểm toán Thống kê và Phân tích Dữ liệu --> Analytics/Statistic Data:
import numpy as np
import pandas as pd
import seaborn as sns
from matplotlib import pyplot as plt
df = pd.read_csv(r"C:\Python311\workspaces\P6B55.csv")
latest_date = '2024-02-17'
def analyze_lottery_numbers(df, latest_date):
pd.set_option("display.max_rows", df.shape[0]+1)
pd.set_option("display.max_columns", 60)
numbers = ['S1', 'S2', 'S3', 'S4', 'S5', 'S6', 'S7', 'S8', 'S9',
'S10', 'S11', 'S12', 'S13', 'S14', 'S15', 'S16', 'S17', 'S18', 'S19',
'S20', 'S21', 'S22', 'S23', 'S24', 'S25', 'S26', 'S27', 'S28', 'S29',
'S30', 'S31', 'S32', 'S33', 'S34', 'S35', 'S36', 'S37', 'S38', 'S39',
'S40', 'S41', 'S42', 'S43', 'S44', 'S45', 'S46', 'S47', 'S48', 'S49',
'S50', 'S51', 'S52', 'S53', 'S54', 'S55']
# Tạo một mảng màu tùy chỉnh với màu sắc tương phản rõ ràng
custom_palette = ['#FF0000', '#00FF00', '#0000FF', '#FFFF00', '#FF00FF', '#00FFFF', '#FF8000', '#8000FF', '#00FF80',
'#808080', '#800000', '#008000', '#000080', '#808000', '#800080', '#008080', '#C0C0C0', '#FF8080',
'#80FF80', '#8080FF', '#FFFF80', '#FF80FF', '#80FFFF', '#FFBF00', '#BF00FF', '#00FFBF', '#A0A0A0',
'#BF0000', '#00BF00', '#0000BF', '#BFBF00', '#BF00BF', '#00BFBF', '#404040', '#400000', '#004000',
'#000040', '#404000', '#400040', '#004040', '#606060', '#400000', '#004000', '#000040', '#606000',
'#606040', '#004060', '#808080', '#004000', '#000040', '#400040', '#808000', '#808040', '#004080',
'#A0A0A0', '#008000', '#000080', '#800080', '#A0A000', '#A000A0', '#0080A0']
plt.figure(figsize=(12, 10))
for i, number in enumerate(numbers):
sns.scatterplot(data=df, y='Date', x=number, color=custom_palette[i], label=number)
plt.grid()
# Tạo biểu đồ màu sắc như thanh màu sắc bên cạnh biểu đồ chính
color_legend = [plt.Line2D([0], [0], marker='o', color='w', markerfacecolor=custom_palette[i], markersize=10) for i in range(len(numbers))]
plt.legend(color_legend, numbers, title='Numbers', loc='lower center', bbox_to_anchor=(0.4, -0.3), ncol=9)
plt.show()
analyze_lottery_numbers(df, latest_date)
#Tập hợp 95 <= [] <= 109 scores:
import random
def choose_random_numbers(sequence, k):
sorted_sequence = sorted(sequence) # Sắp xếp dãy số theo thứ tự tăng dần
random_numbers = random.sample(sorted_sequence, k) # Chọn ngẫu nhiên k số từ dãy số đã sắp xếp
return random_numbers
sequence = [1,2,4,6,7,10,13,14,15,16,17,19,20,21,25,26,27,28,30,31,35,36,37,38,39,40,45,50,54,55]
k = 3
random_numbers = choose_random_numbers(sequence, k)
print(random_numbers)
#Tập hợp 110 - 121 scores:
import random
def choose_random_numbers(sequence, k):
sorted_sequence = sorted(sequence) # Sắp xếp dãy số theo thứ tự tăng dần
random_numbers = random.sample(sorted_sequence, k) # Chọn ngẫu nhiên k số từ dãy số đã sắp xếp
return random_numbers
sequence = [3,5,8,9,11,12,18,22,24,29,33,34,41,42,43,44,46,47,48,49,51,52,53]
k = 3
random_numbers = choose_random_numbers(sequence, k)
print(random_numbers)
#Tập hợp 124 scores:
import random
def choose_random_numbers(sequence, k):
sorted_sequence = sorted(sequence) # Sắp xếp dãy số theo thứ tự tăng dần
random_numbers = random.sample(sorted_sequence, k) # Chọn ngẫu nhiên k số từ dãy số đã sắp xếp
return random_numbers
sequence = [23,32]
k = 1
random_numbers = choose_random_numbers(sequence, k)
print(random_numbers)
[27, 39, 20]
[49, 24, 8]
[23]
Mão:54 26 / 47 16
#1: [27, 1, 19][12, 47, 42][32]
#5: [21, 45, 50][3, 11, 42][32]
#7: [14, 50, 27][12, 47, 42][23]
Dậu:
#1: [2, 40, 31][22, 46, 49][32]
#3: [36, 17, 54][49, 12, 46][32]
#5: [6, 10, 39][11, 8, 24][32]
Cell In[29], line 1
Mão:54 26 / 47 16
^
SyntaxError: invalid syntax
import numpy as np
import pandas as pd
import seaborn as sns
from matplotlib import pyplot as plt
df = pd.read_csv(r"C:\Python311\workspaces\P6B55.csv")
latest_date = '2024-02-06'
# Xác định độ lệch chuẩn bằng hàm df.describe().T
stats = df.describe().T
print(stats)
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
# Đọc dữ liệu từ tệp CSV
df = pd.read_csv(r"C:\Python311\workspaces\Detail_P7B55.csv")
latest_date = '2024-02-13'
# Chuyển đổi trường Date thành kiểu dữ liệu ngày
df['Date'] = pd.to_datetime(df['Date'], dayfirst=True)
# Tạo biểu đồ đường cho mỗi mảng và mỗi ngày
for array in range(1, 8):
array_name = 's' + str(array)
plt.plot(df['Date'], df[array_name], label=f'Array {array_name}')
# Cấu hình biểu đồ
plt.xlabel('Ngày')
plt.ylabel('Giá trị')
plt.title('Sự thay đổi của các giá trị theo ngày')
plt.legend()
plt.xticks(rotation=90)
# Hiển thị biểu đồ
plt.show()
import pandas as pd
from sklearn.linear_model import LogisticRegression
# Đọc dữ liệu từ file CSV
df = pd.read_csv(r"C:\Python311\workspaces\p7b55_s1.csv")
# Chọn các cột cần sử dụng cho việc dự báo
features = ['S55']
target = ['id']
# Xây dựng mô hình hồi quy logistic
model = LogisticRegression()
model.fit(df[features], df[target])
# Dự báo khả năng S1 tăng lên 106 hoặc 107 cho các ngày tiếp theo
future_dates = ['65', '66','67','68']
X_future = pd.DataFrame({'S55': [108,109,110,111]})
predictions = model.predict(X_future)
# In kết quả dự báo
for date, prediction in zip(future_dates, predictions):
print(f'Ngày {date}: Khả năng S55 tăng lên {prediction}')
import pandas as pd
import matplotlib.pyplot as plt
def qcm_rectangle(matrix):
ratings = []
colors = []
for i in range(2, matrix.shape[1]):
rating = 0
for j in range(2, matrix.shape[1]):
if i == j:
continue
if matrix.iloc[:, i].sum() > matrix.iloc[:, j].sum():
rating += 1
elif matrix.iloc[:, i].sum() < matrix.iloc[:, j].sum():
rating -= 1
ratings.append(rating)
if rating > 0:
colors.append('green')
elif rating < 0:
colors.append('red')
else:
colors.append('gray')
return ratings, colors
# Đọc dữ liệu từ file CSV vào DataFrame
df = pd.read_csv(r"C:\Python311\workspaces\p7b55_s1.csv")
# Gọi hàm QCM và lưu kết quả vào biến ratings và colors
ratings, colors = qcm_rectangle(df)
# Vẽ biểu đồ
plt.figure(figsize=(10, 6))
plt.bar(range(1, 56), ratings, color=colors)
plt.xlabel('Số')
plt.ylabel('Rating')
plt.title('Biểu đồ rating của các số từ S1 đến S55')
plt.show()
Chú thích:
- Cột màu xanh lớn hơn 0: Điều này biểu thị rằng các số hạng có mức độ biến đổi cao hơn so với các số hạng khác. Nó có thể được coi là một rating biến động khó lường, vì những số hạng này có xu hướng thay đổi nhiều trong thời gian. Khi một số hạng có rating dương lớn, điều này có thể đồng nghĩa với việc rủi ro cũng lớn do tính biến động cao của chúng.
- Cột biểu đồ âm, nhỏ hơn 0: Điều này chỉ ra rằng các số hạng có mức độ biến đổi thấp hơn so với các số hạng khác. Rating biến động ít, cho thấy sự ổn định và ít biến thiên trong các số hạng này. Khi một số hạng có rating âm, có thể hiểu là rủi ro cũng ít hơn do tính biến động thấp.
- Cột biểu đồ = 0:Cột biểu đồ = 0: Đây là trường hợp khi các số hạng có mức độ biến đổi trung bình và có sự kiểm soát được. Đây là trường hợp khi các số hạng có mức độ biến đổi trung bình và có sự kiểm soát được. Rating bằng 0 cho thấy tính ổn định với sự cân bằng giữa các số hạng. Tóm lại: biểu đồ QCM ma trận chữ nhật giúp chúng ta đánh giá mức độ biến động của các số hạng trong ma trận. - Các cột màu xanh lớn hơn 0 biểu thị cho biến động cao và rủi ro lớn, trong khi các cột màu đỏ nhỏ hơn 0 biểu thị cho biến động thấp và rủi ro ít. - Cột có rating bằng 0 thể hiện sự ổn định và kiểm soát được của số hạng.
- Business Analyst (BA) là một nghề tồn tại từ lâu trên toàn cầu, nhưng ở Việt Nam thì vẫn còn khá mới (xuất hiện khoảng hơn 27 năm).
- Tôi thực sự đánh giá cao nghề này và trong quá trình làm việc, tôi đã gặp phải nhiều thách thức, từ đó tôi đã hiểu rõ những điểm mạnh và điểm yếu của bản thân. Tôi nhận thấy rằng trong lĩnh vực này có nhiều vấn đề phức tạp và khó khăn, nhưng khi chúng được giải quyết, thì cảm giác thật tuyệt vời.
- BA xuất hiện với mục tiêu giải quyết vấn đề. Đó có thể là biến một điều không tốt thành điều tốt hơn, hoặc cải thiện những điều đã tốt để trở nên tốt hơn. Việc mang lại ý nghĩa cho người khác thực sự là một điều mà tôi khó lòng tranh cãi hay bỏ qua.