数据分析是当今数据分析领域的重要技能之一,Python作为数据分析的常用工具,其强大的库和框架使其在数据分析中扮演着核心角色。以下是一些实战练习题,帮助你从基础到进阶,逐步掌握Python数据分析。
1. 数据预处理
1.1 数据清洗
题目:读取一个包含缺失值和异常值的CSV文件,进行处理。
分析:使用Pandas库进行数据读取,然后对缺失值和异常值进行处理。
import pandas as pd
# 读取CSV文件
df = pd.read_csv('data.csv')
# 处理缺失值
df.fillna(method='ffill', inplace=True)
# 处理异常值
df = df[(df['age'] > 18) & (df['age'] < 60)]
1.2 数据转换
题目:将日期字符串转换为日期格式,并提取年、月、日信息。
分析:使用Pandas库进行日期格式转换,并提取年、月、日信息。
import pandas as pd
# 读取CSV文件
df = pd.read_csv('data.csv')
# 将日期字符串转换为日期格式
df['date'] = pd.to_datetime(df['date'])
# 提取年、月、日信息
df['year'] = df['date'].dt.year
df['month'] = df['date'].dt.month
df['day'] = df['date'].dt.day
2. 数据分析
2.1 数据统计
题目:计算年龄的描述性统计。
分析:使用Pandas库计算年龄的描述性统计。
import pandas as pd
# 读取CSV文件
df = pd.read_csv('data.csv')
# 计算年龄的描述性统计
age_stats = df['age'].describe()
print(age_stats)
2.2 数据可视化
题目:绘制年龄分布直方图。
分析:使用Matplotlib库绘制年龄分布直方图。
import pandas as pd
import matplotlib.pyplot as plt
# 读取CSV文件
df = pd.read_csv('data.csv')
# 绘制年龄分布直方图
plt.hist(df['age'], bins=10)
plt.xlabel('Age')
plt.ylabel('Frequency')
plt.title('Age Distribution')
plt.show()
3. 数据挖掘
3.1 分类算法
题目:使用决策树算法进行分类。
分析:使用Scikit-learn库进行分类,并使用决策树算法进行训练和预测。
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
# 读取CSV文件
df = pd.read_csv('data.csv')
# 划分特征和标签
X = df.drop('target', axis=1)
y = df['target']
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 使用决策树算法进行训练和预测
clf = DecisionTreeClassifier()
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)
3.2 回归算法
题目:使用线性回归算法进行回归。
分析:使用Scikit-learn库进行回归,并使用线性回归算法进行训练和预测。
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
# 读取CSV文件
df = pd.read_csv('data.csv')
# 划分特征和标签
X = df.drop('target', axis=1)
y = df['target']
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 使用线性回归算法进行训练和预测
lr = LinearRegression()
lr.fit(X_train, y_train)
y_pred = lr.predict(X_test)
通过以上实战练习题,你将能够从基础到进阶,逐步掌握Python数据分析。在实际应用中,请根据具体问题选择合适的工具和方法,并不断积累经验。祝你学习顺利!
