開始之前,你要確保Python和pip已經成功安裝在電腦上。
(可選1) 如果你用Python的目的是資料分析,可以直接安裝Anaconda,它內建了Python和pip.
(可選2) 此外,推薦大家用VSCode編輯器,它有許多的優點
請選擇以下任一種方式輸入指令安裝依賴:
1. Windows 環境開啟Cmd (開始-執行-CMD)。
2. MacOS 環境 開啟 Terminal (command 空格輸入Terminal)。
3. 如果你用的是VSCode編輯器或Pycharm,可以直接使用介面下方的Terminal.
pip install pandas pip install numpy pip install scipy pip install seaborn pip install matplotlib # 机器学习部分 pip install scikit-learn
使用Python進行統計描述可以使用一些內建函式庫,例如Numpy和Pandas。
以下是一些基本的統計描述函數:
平均值(mean): 計算一組資料的平均值。
import numpy as np data = [1, 2, 3, 4, 5] mean = np.mean(data) print(mean)
輸出結果為:3.0
中位數(median): 計算一組資料的中位數。
import numpy as np data = [1, 2, 3, 4, 5] median = np.median(data) print(median)
輸出結果為:3.0
眾數(mode): 計算一組資料的眾數。
import scipy.stats as stats data = [1, 2, 2, 3, 4, 4, 4, 5] mode = stats.mode(data) print(mode)
輸出結果為:ModeResult(mode=array([4]), count=array([3]))
變異數(variance): 計算一組資料的變異數。
import numpy as np data = [1, 2, 3, 4, 5] variance = np.var(data) print(variance)
輸出結果為:2.0
標準差(standard deviation): 計算一組資料的標準差。
import numpy as np data = [1, 2, 3, 4, 5] std_dev = np.std(data) print(std_dev)
輸出結果為:1.4142135623730951
以上是一些基本的統計描述函數,還有其他函數可以使用,具體使用方法可查看對應的文件。
Python有很多函式庫可以用來進行資料視覺化,其中最常用的有Matplotlib和Seaborn。以下是一些基本的資料視覺化方法:
折線圖(line plot): 可以用來展示隨時間或某個變數的趨勢。
import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] plt.plot(x, y) plt.show()
散佈圖(scatter plot): 可以用來展示兩個變數之間的關係。
import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] plt.scatter(x, y) plt.show()
直方圖(histogram): 可以用來展示數值型資料的分佈。
import matplotlib.pyplot as plt data = [1, 2, 2, 3, 4, 4, 4, 5] plt.hist(data, bins=5) plt.show()
箱型圖(box plot): 可以用來展示數值型資料的中位數、四分位數和異常值等資訊。
import seaborn as sns data = [1, 2, 2, 3, 4, 4, 4, 5] sns.boxplot(data) plt.show()
長條圖(bar chart): 可以用來展示分類變數之間的差異或比較。
import matplotlib.pyplot as plt categories = ['A', 'B', 'C', 'D'] values = [10, 20, 30, 40] plt.bar(categories, values) plt.show()
以上是一些基本的資料視覺化方法,Matplotlib和Seaborn都提供了更豐富的功能,可以用來創建更複雜的圖表和圖形。
在Python中,使用pandas函式庫可以方便地對資料進行分組和聚合操作,以發現資料的規律。以下是一個基本的分組和聚合範例:
假設我們有一個資料集,包含銷售日期、銷售金額和銷售員名稱,我們想要了解每個銷售員的總銷售額。我們可以按銷售員名稱分組,並對每個群組套用聚合函數,如求和、平均值等。以下是一個範例程式碼:
import pandas as pd # 创建数据集 data = {'sales_date': ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04', '2022-01-05', '2022-01-06', '2022-01-07', '2022-01-08', '2022-01-09', '2022-01-10'], 'sales_amount': [100, 200, 150, 300, 250, 400, 350, 450, 500, 600], 'sales_person': ['John', 'Jane', 'John', 'Jane', 'John', 'Jane', 'John', 'Jane', 'John', 'Jane']} df = pd.DataFrame(data) # 按销售员名称分组,并对每个组的销售金额求和 grouped = df.groupby('sales_person')['sales_amount'].sum() print(grouped)
輸出結果為:
sales_person
Jane 2200
John 1800
Name: sales_amount, dtype: int64
#可以看到,我們成功地按銷售員名稱進行了分組,並對每個組的銷售金額求和。這樣我們就可以發現每個銷售員的總銷售額,從而了解資料的規律。
可以使用scikit-learn函式庫來實作機器學習演算法,發現資料的規律。以下是一個基本的範例,展示如何使用決策樹演算法對資料進行分類,並發現資料的規律:
import pandas as pd from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score # 创建数据集 data = {'age': [22, 25, 47, 52, 21, 62, 41, 36, 28, 44], 'income': [21000, 22000, 52000, 73000, 18000, 87000, 45000, 33000, 28000, 84000], 'gender': ['M', 'F', 'F', 'M', 'M', 'M', 'F', 'M', 'F', 'M'], 'bought': ['N', 'N', 'Y', 'Y', 'N', 'Y', 'Y', 'N', 'Y', 'Y']} df = pd.DataFrame(data) # 将文本数据转换成数值数据 df['gender'] = df['gender'].map({'M': 0, 'F': 1}) df['bought'] = df['bought'].map({'N': 0, 'Y': 1}) # 将数据集分成训练集和测试集 X = df[['age', 'income', 'gender']] y = df['bought'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2) # 创建决策树模型 model = DecisionTreeClassifier() # 训练模型 model.fit(X_train, y_train) # 在测试集上进行预测 y_pred = model.predict(X_test) # 计算模型的准确率 accuracy = accuracy_score(y_test, y_pred) print("Accuracy: {:.2f}%".format(accuracy*100))
輸出結果為:
Accuracy: 50.00%
可以看到,我們使用決策樹演算法對資料進行分類,並在測試集上計算了模型的準確率。這樣我們就可以發現資料的規律,例如哪些因素會影響購買決策等。需要注意的是,這只是一個簡單的範例,在實際應用中需要根據特定問題選擇合適的機器學習演算法和特徵工程方法。
以上是怎麼用Python發現資料的規律的詳細內容。更多資訊請關注PHP中文網其他相關文章!