​数据分析常用的python知识

NumPy

NumPy 是 Python 的一个开源数值计算扩展库,用于数组计算。它可以用来存储和处理大型矩阵,比 Python 自带的列表更高效。

1.数组创建:

np.array([]): 用于创建数组。例如,np.array([1, 2, 3]) 创建一个一维数组。

import numpy as np``   ``# 创建一个一维数组``arr = np.array([1, 2, 3])``print("一维数组:", arr)

2.数组操作

  • 索引:类似于 Python 列表,用于访问数组中的元素。

  • 切片:选择数组的特定部分。

  • reshape:改变数组的形状而不改变其数据。

  • concatenate:用于合并两个或多个数组。

# 索引``print("第一个元素:", arr[0])``   ``# 切片``print("前两个元素:", arr[:2])``   ``# reshape``arr_reshaped = arr.reshape(1, 3)``print("改变形状后的数组:\n", arr_reshaped)``   ``# concatenate``arr2 = np.array([4, 5, 6])``arr_concatenated = np.concatenate((arr, arr2))``print("合并后的数组:", arr_concatenated)``   

3.数学运算:

  • sum:计算数组所有元素的总和。

  • mean:计算数组元素的平均值。

  • min/max:找到数组中的最小值或最大值。

# 总和``print("数组总和:", np.sum(arr))``   ``# 平均值``print("平均值:", np.mean(arr))``   ``# 最小值和最大值``print("最小值:", np.min(arr))``print("最大值:", np.max(arr))``   

Pandas

Pandas 是基于 NumPy 的库,提供了快速、灵活以及表达式丰富的数据结构,旨在使“关系”或“标签”数据的操作既简单又直观。

  1. 数据结构:
  • DataFrame:二维大小可变的表格结构,含有异构类型的列。

  • Series:一维标签数组,能够保存任何数据类型。

  • import pandas as pd``   ``data = {'Name': ['Tom', 'Nick', 'Krish', 'Jack'],`        `'Age': [20, 21, 19, 18]}``df = pd.DataFrame(data)
    
    ages = pd.Series([20, 21, 19, 18], name="Age")
    
  1. 数据导入:
  • pd.read_csv():从 CSV 文件导入数据。

  • pd.read_excel():从 Excel 文件导入数据。

  • pd.read_sql():从 SQL 数据库读取数据。

    df = pd.read_csv('xxx/file.csv')``df = pd.read_excel('xxx/file.xlsx')
    
    import sqlite3``conn = sqlite3.connect('database.db')``df = pd.read_sql_query("SELECT * FROM table_name", conn)
    
  1. 数据探索:
  • head():查看前几行数据。

  • describe():显示数据的统计摘要(计数、平均值、标准差等)。

  • info():查看数据的概要信息(行数、列数、列数据类型、内存信息)。

  • df.head()``df.describe()``df.info()
    
  1. 数据清洗:
  • 处理缺失值:例如,使用 dropna() 移除或用 fillna() 填充缺失值。
df.dropna()  # 删除缺失值``df.fillna(0)  # 用 0 填充缺失值
  • 数据过滤:使用条件语句选取数据子集。
df[df['Age'] > 20]  # 选择年龄大于 20 的记录
  • groupby:根据某些条件将数据分组并进行聚合。
df.groupby('Name').sum()  # 按名称分组并计算每组的总和
  1. 数据合并:
  • merge():用于连接两个或更多的 DataFrame。
df1 = pd.DataFrame({'Key': ['K0', 'K1', 'K2', 'K3'],`                    `'A': ['A0', 'A1', 'A2', 'A3']})``df2 = pd.DataFrame({'Key': ['K0', 'K1', 'K2', 'K3'],`                    `'B': ['B0', 'B1', 'B2', 'B3']})``   ``result = pd.merge(df1, df2, on='Key')
  • concat():用于在一定轴上连接/合并两个或多个 pandas 对象。
pd.concat([df1, df2], axis=1)

Matplotlib/Seaborn

这两个库用于数据可视化。Matplotlib 是一个底层库,提供了大量的基础工具来创建图表,而 Seaborn 基于 Matplotlib,提供了更高级的接口,使绘制图表更加容易。

  1. 绘图:
  • plt.plot():用于绘制线形图。

    import matplotlib.pyplot as plt``   ``# 数据``x = [1, 2, 3, 4, 5]``y = [2, 3, 5, 7, 11]``   ``# 绘制线形图``plt.plot(x, y)``   ``# 添加标题和轴标签``plt.title('Simple Line Plot')``plt.xlabel('X Axis')``plt.ylabel('Y Axis')``   ``# 显示图表``plt.show()
    
  • plt.scatter():用于绘制散点图。

    # 数据``x = [1, 2, 3, 4, 5]``y = [2, 3, 5, 7, 11]``   ``# 绘制散点图``plt.scatter(x, y)``   ``# 添加标题和轴标签``plt.title('Simple Scatter Plot')``plt.xlabel('X Axis')``plt.ylabel('Y Axis')``   ``# 显示图表``plt.show()
    
  • sns.barplot():在 Seaborn 中绘制条形图。

    import seaborn as sns``   ``# 数据``categories = ['Category A', 'Category B', 'Category C']``values = [10, 20, 30]``   ``# 绘制条形图``sns.barplot(x=categories, y=values)``   ``# 添加标题``plt.title('Bar Plot with Seaborn')``   ``# 显示图表``plt.show()
    
  • sns.lineplot():在 Seaborn 中绘制线形图。

    # 数据``x = [1, 2, 3, 4, 5]``y = [2, 3, 5, 7, 11]``   ``# 绘制线形图``sns.lineplot(x=x, y=y)``   ``# 添加标题``plt.title('Line Plot with Seaborn')``   ``# 显示图表``plt.show()
    
  1. 图表定制:
  • 标题:给图表添加标题。

  • 轴标签:给 x 轴和 y 轴添加标签。

  • 图例:为图表添加图例,区分不同的数据系列。

  • 样式:调整图表的颜色、线型等外观样式。

点击下方安全链接前往获取

CSDN大礼包:《Python入门&进阶学习资源包》免费分享

👉Python实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

图片

图片

👉Python书籍和视频合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

图片

👉Python副业创收路线👈

图片

这些资料都是非常不错的,朋友们如果有需要《Python学习路线&学习资料》,点击下方安全链接前往获取

CSDN大礼包:《Python入门&进阶学习资源包》免费分享

本文转自 网络,如有侵权,请联系删除。

  • 29
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值