使用 Python 分析二手車銷售價格
分析二手車的銷售價格對於買賣雙方做出明智的決策至關重要,而使用 Python 可以輕鬆完成。透過利用 Python 的資料分析和視覺化功能,可以從可用資料集中獲得有價值的見解。
本文探討了使用各種圖表進行資料預處理、清洗和分析銷售價格的過程。此外,它還涵蓋了使用線性迴歸模型預測銷售價格。藉助 Python 的強大庫,如 pandas、matplotlib、seaborn 和 scikit-learn,此分析提供了一種全面方法來了解影響二手車價格的因素並做出準確的價格預測。
如何使用 Python 分析二手車的銷售價格?
請按照以下步驟使用 Python 分析二手車的銷售價格:
步驟 1:匯入重要庫
import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error
步驟 2:讀取資料集並將其儲存在 pandas 資料框中
data = pd.read_csv('C:/Users/Tutorialspoint/Documents/autos.csv', encoding='latin1')
步驟 3:檢查資料集的結構
data.info() print(data.head())
輸出
dateCrawled seller offerType price vehicleType \
3 2016-03-17 16:54:04 privat Angebot 1500 kleinwagen
4 2016-03-31 17:25:20 privat Angebot 3600 kleinwagen
5 2016-04-04 17:36:23 privat Angebot 650 limousine
6 2016-04-01 20:48:51 privat Angebot 2200 cabrio
7 2016-03-21 18:54:38 privat Angebot 0 limousine
yearOfRegistration gearbox powerPS model kilometer \
3 2001 manuell 75 golf 150000
4 2008 manuell 69 fabia 90000
5 1995 manuell 102 3er 150000
6 2004 manuell 109 2_reihe 150000
7 1980 manuell 50 andere 40000
monthOfRegistration fuelType brand notRepairedDamage dateCreated \
3 6 benzin volkswagen nein 2016-03-17
4 7 diesel skoda nein 2016-03-31
5 10 benzin bmw ja 2016-04-04
6 8 benzin peugeot nein 2016-04-01
7 7 benzin volkswagen nein 2016-03-21
lastSeen
3 2016-03-17 17:40:17
4 2016-04-06 10:17:21
5 2016-04-06 19:17:07
6 2016-04-05 18:18:39
7 2016-03-25 16:47:58
步驟 4:處理缺失值
data = data.dropna()
步驟 5:僅在必要時轉換資料型別
data['dateCrawled'] = pd.to_datetime(data['dateCrawled']) data['dateCreated'] = pd.to_datetime(data['dateCreated'])
步驟 6:資料清洗
# Remove irrelevant columns columns_to_drop = ['name', 'abtest', 'nrOfPictures', 'postalCode'] data = data.drop(columns=columns_to_drop)
步驟 7:使用圖表分析銷售價格
示例 1:銷售價格的直方圖
plt.figure(figsize=(10, 6))
sns.histplot(data['price'], bins=20, kde=True)
plt.xlabel('Price')
plt.ylabel('Count')
plt.title('Histogram of Selling Price')
plt.show()
輸出

示例 2:按車輛型別劃分的銷售價格箱線圖
plt.figure(figsize=(10, 6))
sns.boxplot(x='vehicleType', y='price', data=data)
plt.xlabel('Vehicle Type')
plt.ylabel('Price')
plt.title('Boxplot of Selling Price by Vehicle Type')
plt.show()
輸出

示例 3:註冊年份與價格的散點圖
plt.figure(figsize=(10, 6))
sns.scatterplot(x='yearOfRegistration', y='price', data=data)
plt.xlabel('Year of Registration')
plt.ylabel('Price')
plt.title('Scatter plot of Year of Registration vs. Price')
plt.show()
輸出

步驟 8:使用線性迴歸預測銷售價格
選擇相關的特徵和目標變數
features = ['yearOfRegistration', 'powerPS', 'kilometer'] target = 'price' X = data[features] y = data[target]
將資料拆分為訓練集和測試集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
初始化並訓練線性迴歸模型
model = LinearRegression() model.fit(X_train, y_train)
輸出
LinearRegression
步驟 9:對測試集進行預測並列印預測的銷售價格
# Make predictions on the test set
y_pred = model.predict(X_test)
# Print the predicted selling price
print("Predicted Selling Price:")
for price in y_pred:
print(price)
輸出
Predicted Selling Price: 4697.820983235375 4882.88628493459 2407.3556394173065 4264.297985512414 5801.285403149028 6486.864555639331 18844.05037380848 3615.3753698624205 15154.480417441286 7511.02954521589 5815.107292202709 14360.747495675983 3868.0368050450925 6433.695591624826 3019.621718226932 …………………………………… 3723.5291391374194
步驟 10:使用均方誤差 (MSE) 評估模型
mse = mean_squared_error(y_test, y_pred)
print(f"Mean Squared Error: {mse}")
輸出
Mean Squared Error: 3838157266.6337757
結論
總之,Python 的多功能性和強大的庫使其成為分析二手車銷售價格的理想工具。透過資料預處理、清洗和視覺化,可以獲得有價值的見解。此外,使用機器學習演算法進行預測建模可以實現準確的價格預測。此分析使買賣雙方能夠在二手車市場中做出明智的決策。
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP