ITPub博客

首页 > 数据库 > 数据库开发技术 > Python数据分析基础介绍

Python数据分析基础介绍

原创 数据库开发技术 作者:derekwh 时间:2024-07-05 12:52:52 0 删除 编辑

数据分析是一项涉及从原始数据中提取有用信息、洞察和结论的技术。python提供了大量的库和工具,使得进行数据分析变得相对简单。本文介绍一些基础数据分析方法及代码实现。

1. 描述性统计分析 (descriptive statistics)

描述性统计是理解数据集基本特征的第一步,它包括均值、中位数、标准差等统计量。

 使用 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)

2. 数据可视化 (data visualization)

数据可视化是将数据以图形的方式展示出来,这有助于发现模式、趋势和异常。

使用 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()

3. 探索性数据分析 (exploratory data analysis, eda)

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

4. 假设检验 (hypothesis testing)

假设检验是确定数据中的模式是由随机变异还是实际效应引起的统计过程。

使用 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学习杂记;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
央企算法工程师,微信公众号: python数智工坊

注册时间:2021-03-14

  • 博文量
    305
  • 访问量
    162349