👉博__主👈:米碼收割機
👉技__能👈:C++/Python語言
👉公眾號👈:測試開發自動化【獲取源碼+商業合作】
👉榮__譽👈:阿里云博客專家博主、51CTO技術博主
👉專__注👈:專注主流機器人、人工智能等相關領域的開發、測試技術。
【python】python知名品牌調查問卷數據分析可視化(源碼+調查數據表)【獨一無二】
目錄
- 【python】python知名品牌調查問卷數據分析可視化(源碼+調查數據表)【獨一無二】
- 一、設計要求
- 描述性統計分析
- 推論性統計分析
- 數據可視化
- 二、設計思路
- 代碼設計思路分析
- 1. 文件導入與字體設置
- 2. 讀取數據
- 3. 數據預處理
- 4. 描述性統計分析
- 5. 推論性統計分析
- 三、可視化分析
- 1. 年齡分布圖
- 2. 性別分布圖
- 3. 職業分布圖
一、設計要求
描述性統計分析
對數據進行基本的描述性統計分析,包括以下內容:
- 年齡分布:計算各年齡段的人數和百分比,并統計年齡的均值、中位數和標準差。
- 性別分布:計算不同性別的人數和百分比。
- 職業分布:計算不同職業的人數和百分比。
推論性統計分析
進行推論性統計分析,提供以下功能:
- t檢驗:比較不同性別在問卷總分上的差異,輸出t統計量和p值。
- 卡方檢驗:比較不同年齡段在職業分布上的差異,輸出卡方值和p值。
數據可視化
使用Matplotlib進行數據可視化,提供以下圖表:
- 年齡分布圖:以柱狀圖形式展示各年齡段的頻次。
- 性別分布圖:以柱狀圖形式展示不同性別的頻次。
- 職業分布圖:以柱狀圖形式展示不同職業的頻次。
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “ 調查問卷 ” 獲取。👈👈👈
二、設計思路
代碼設計思路分析
1. 文件導入與字體設置
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy import stats
from matplotlib import font_manager# 設置中文字體
font_path = 'SimHei.ttf' # 根據實際路徑設置字體路徑
font = font_manager.FontProperties(fname=font_path)
plt.rcParams['font.family'] = font.get_name()
導入所需的庫,設置中文字體路徑以確保在可視化過程中中文標簽能夠正確顯示。
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “ 調查問卷 ” 獲取。👈👈👈
2. 讀取數據
file_path = '264356010_按文本_關于卡爾美運動品牌知名度的問卷調查_47_47.xlsx'
data = pd.read_excel(file_path, engine='openpyxl')
從指定的Excel文件中讀取問卷調查數據,使用openpyxl
引擎以兼容不同格式的Excel文件。
3. 數據預處理
age_mapping = {'A. 18歲及以下': 18,'B. 19-25歲': 22,'C. 26-35歲': 30,'D. 35歲及以上': 40
}
data['年齡數值'] = data['1、請問您的年齡是?'].map(age_mapping)
將年齡選項轉換為數值形式,便于后續的統計分析。通過map
方法將年齡區間映射為對應的數值。
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “ 調查問卷 ” 獲取。👈👈👈
4. 描述性統計分析
# 年齡分布
# 略.....
# 略.....
# 略.....# 性別分布
# 略.....# 職業分布
# 略.....# 打印描述性統計結果
print('年齡分布:')
print(pd.DataFrame({'Counts': age_counts, 'Percentage': age_percentage}))
print(f'年齡均值: {age_mean:.2f}')
print(f'年齡中位數: {age_median:.2f}')
print(f'年齡標準差: {age_std:.2f}')print('\n性別分布:')
print(pd.DataFrame({'Counts': gender_counts, 'Percentage': gender_percentage}))print('\n職業分布:')
print(pd.DataFrame({'Counts': occupation_counts, 'Percentage': occupation_percentage}))
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “ 調查問卷 ” 獲取。👈👈👈
進行描述性統計分析,計算各個類別(年齡、性別、職業)的頻次和百分比,并計算年齡的均值、中位數和標準差。輸出描述性統計結果,幫助了解數據的基本情況和分布特征。
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “ 調查問卷 ” 獲取。👈👈👈
5. 推論性統計分析
# t檢驗 - 比較不同性別的總分
male_scores = data.loc[data['2、您的性別是?'] == 'A. 男', '總分']
# 略.....
# 略.....
print(f'\nt檢驗結果: t_stat = {t_stat:.4f}, p_val = {p_val:.4f}')# 卡方檢驗 - 比較不同年齡段的職業分布
age_groups = pd.cut(data['年齡數值'], bins=[0, 18, 25, 35, 50, 100], labels=['0-18', '19-25', '26-35', '36-50', '50+'])
# 略.....
# 略.....
# 略.....
print(f'\n卡方檢驗結果: chi2 = {chi2:.4f}, p_val = {p:.4f}')
進行推論性統計分析,包括t檢驗和卡方檢驗。t檢驗用于比較不同性別在總分上的差異,卡方檢驗用于比較不同年齡段在職業分布上的差異,輸出統計檢驗結果,包括t統計量、p值和卡方值。
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “ 調查問卷 ” 獲取。👈👈👈
三、可視化分析
1. 年齡分布圖
年齡分布圖以柱狀圖的形式展示了調查問卷中各個年齡段的受訪者人數。這一圖表可以直觀地反映出調查對象的年齡構成,從中我們可以看到不同年齡段受訪者的比例。例如,如果18歲及以下和19-25歲年齡段的柱子明顯高于其他年齡段,說明該調查問卷的主要受眾是年輕人。這對于市場研究人員來說非常重要,因為了解目標人群的年齡分布可以幫助他們制定更有針對性的營銷策略和產品定位。此外,通過觀察柱狀圖中的峰值和低谷,我們還可以識別出調查對象的年齡集中區間和相對較少的年齡段,為后續的分析提供數據支持。
# 年齡分布
plt.figure(figsize=(10, 6))
age_counts.plot(kind='bar')
plt.title('年齡分布', fontproperties=font)
plt.xlabel('年齡', fontproperties=font)
plt.ylabel('人數', fontproperties=font)
plt.show()
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “ 調查問卷 ” 獲取。👈👈👈
2. 性別分布圖
性別分布圖也是以柱狀圖的形式展示,反映了調查問卷中男性和女性受訪者的比例。通過這個圖表,可以清晰地看到調查樣本中不同性別的分布情況。例如,如果男性和女性受訪者的柱子高度相近,說明該調查在性別上具有較好的平衡性;而如果某一性別的柱子顯著高于另一性別,說明調查在性別分布上存在一定的偏向。性別分布對于市場研究和產品開發同樣重要,因為不同性別的消費者可能有不同的需求和偏好。了解性別分布可以幫助企業在推廣產品時進行性別細分,從而提高營銷效果和用戶滿意度。
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “ 調查問卷 ” 獲取。👈👈👈
3. 職業分布圖
職業分布圖以柱狀圖的形式展示了受訪者的職業構成。這一圖表可以幫助我們了解不同職業背景的受訪者在調查中的比例。例如,如果圖表中顯示學生、白領和自由職業者的柱子較高,說明這些職業群體是調查的主要對象。職業分布信息對于了解目標人群的職業背景和經濟能力具有重要意義,可以幫助企業更好地理解消費者的購買力和消費習慣。例如,學生群體可能更關注性價比和品牌形象,而白領群體則可能對產品質量和售后服務有更高的要求。通過分析職業分布圖,企業可以制定更有針對性的產品開發和市場推廣策略,滿足不同職業群體的需求。
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “ 調查問卷 ” 獲取。👈👈👈