首页 > 数据库 > 数据库开发技术 > Python数据分析基础介绍
数据分析是一项涉及从原始数据中提取有用信息、洞察和结论的技术。python提供了大量的库和工具,使得进行数据分析变得相对简单。本文介绍一些基础数据分析方法及代码实现。
描述性统计是理解数据集基本特征的第一步,它包括均值、中位数、标准差等统计量。
使用 pandas 库来计算数据集的描述性统计量。
import pandas as pd
# 创建一个数据集
data = {
'age': [25, 30, 35, 40, 45],
'income': [50000, 60000, 70000, 80000, 90000]
}
df = pd.dataframe(data)
# 计算描述性统计量
desc_stats = df.describe()
print(desc_stats)
数据可视化是将数据以图形的方式展示出来,这有助于发现模式、趋势和异常。
使用 matplotlib 和 seaborn 库来创建图表。
import matplotlib.pyplot as plt
import seaborn as sns
# 加载内置的数据集
tips = sns.load_dataset("tips")
# 创建散点图
plt.figure(figsize=(10, 6))
sns.scatterplot(x="total_bill", y="tip", data=tips)
plt.title('total bill vs tip')
plt.show()
eda 是在没有明确假设的情况下使用图表和其他统计方法来了解数据的过程。
使用 pandas 和 matplotlib 进行探索性数据分析。
# 加载内置的数据集
iris = sns.load_dataset("iris")
# 使用 pandas 探查数据
print(iris.head())
print(iris.info())
print(iris.describe())
# 使用 seaborn 绘制箱线图来观察不同种类鸢尾花的花瓣长度分布
sns.boxplot(x='species', y='petal_length', data=iris)
plt.show()
输出
sepal_length sepal_width petal_length petal_width species
0 5.1 3.5 1.4 0.2 setosa
1 4.9 3.0 1.4 0.2 setosa
2 4.7 3.2 1.3 0.2 setosa
3 4.6 3.1 1.5 0.2 setosa
4 5.0 3.6 1.4 0.2 setosa
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 150 entries, 0 to 149
Data columns (total 5 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 sepal_length 150 non-null float64
1 sepal_width 150 non-null float64
2 petal_length 150 non-null float64
3 petal_width 150 non-null float64
4 species 150 non-null object
dtypes: float64(4), object(1)
memory usage: 6.0+ KB
None
sepal_length sepal_width petal_length petal_width
count 150.000000 150.000000 150.000000 150.000000
mean 5.843333 3.057333 3.758000 1.199333
std 0.828066 0.435866 1.765298 0.762238
min 4.300000 2.000000 1.000000 0.100000
25% 5.100000 2.800000 1.600000 0.300000
50% 5.800000 3.000000 4.350000 1.300000
75% 6.400000 3.300000 5.100000 1.800000
max 7.900000 4.400000 6.900000 2.500000
假设检验是确定数据中的模式是由随机变异还是实际效应引起的统计过程。
使用 scipy 来进行t检验。
from scipy import stats
# 两组样本数据
group1 = [1,2,3,4,5,12,3,4,3,4,4,12,3,4,4]
group2 = [2,3,4,5,6,13,5,6,5,5,5,15,4,3,2]
# 执行独立样本t检验
t_stat, p_val = stats.ttest_ind(group1, group2)
print(f"t-statistic: {t_stat}, p-value: {p_val}")
这些方法只是数据分析的基础,在实际应用中,数据分析可能会涉及到更复杂的统计模型、机器学习算法和大数据技术,本公众号之后会继续介绍。
原文作者:Python学习杂记;如有侵权,请联系管理员删除。