在 Jupyter Notebook 中使用 Pandas 进行数据操作

  1. 安装与导入 Pandas

    • 使用 pip 安装 Pandas:

      bash 复制代码
      pip install pandas
      pip install openpyxl
    • 在 notebook 中导入 Pandas 库,通常使用以下别名以方便书写:

      python 复制代码
      import pandas as pd
  2. 读取数据到 DataFrame

    • 从 CSV 文件加载数据:

      python 复制代码
      df = pd.read_csv('your_file.csv')
    • 查看数据的前几行:

      python 复制代码
      df.head()
  3. 查看数据信息

    • 查看数据的基本信息,如形状、列名等:

      python 复制代码
      print(df.shape)  # 输出数据框的行数和列数
      print(df.columns)  # 输出列名
  4. 数据清洗

    • 检查缺失值:

      python 复制代码
      df.isnull().sum()  # 统计每一列的缺失值数量
    • 删除包含缺失值的行:

      python 复制代码
      df.dropna()
    • 填充缺失值(例如用均值填充):

      python 复制代码
      df['column_name'].fillna(df['column_name'].mean(), inplace=True)
  5. 数据分析与操作

    • 进行基本的统计分析:

      python 复制代码
      df.describe()  # 输出数据的汇总统计信息
    • 按某一列分组并计算均值:

      python 复制代码
      df.groupby('column_name').mean()
  6. 筛选特定列

    • 如果你想只关注某些列,可以使用columns参数或简单的索引:

    • 选择单个列:

      python 复制代码
      gender = df['Sex']
    • 选择多个列:

      python 复制代码
      selected_columns = df[['Sex', 'Age']]
  7. 根据条件筛选行

    • 使用布尔掩码来筛选满足特定条件的行。例如,筛选出女性乘客:

      python 复制代码
      female_passengers = df[df['Sex'] == 'female']
    • 或者更简洁地写在一起:

      python 复制代码
      selected_df = df[(df['Age'] > 30) & (df['Sex'] == 'male')]
  8. 可视化数据

    • 使用 Matplotlib 或 Seaborn 绘制图表。例如,绘制柱状图:

      python 复制代码
      import matplotlib.pyplot as plt
      df['column_name'].value_counts().plot(kind='bar')
      plt.show()
  9. 保存 DataFrame 到文件

    • 将处理后的数据保存回 CSV 文件:

      python 复制代码
      import os
      folder_path = './outputs/nba'
      os.makedirs(folder_path, exist_ok=True)
      df.to_csv(folder_path+'processed_file.csv', index=False)  # 不包含索引列
  10. 使用 Markdown 添加说明

  • 在 notebook 中,使用 Markdown 单元格添加解释性文字,使分析过程更加清晰。

示例:完整的 Jupyter Notebook 使用 Pandas 的代码

python 复制代码
# 导入Pandas库
import pandas as pd

# 读取CSV文件
df = pd.read_csv('data.csv')

# 查看数据的前五行
print("前五行数据:")
print(df.head())

# 检查缺失值
print("\n检查缺失值情况:")
print(df.isnull().sum())

# 删除包含缺失值的行
df.dropna(inplace=True)

# 填充缺失值(假设填充列 'A' 的均值)
df['A'].fillna(df['A'].mean(), inplace=True)

# 统计描述
print("\n数据统计:")
print(df.describe())

# 按某一列分组并计算均值
grouped_df = df.groupby('category').mean()
print("\n按类别分组后的均值:")
print(grouped_df)

# 可视化 - 绘制柱状图(以 'A' 列为例)
import matplotlib.pyplot as plt

df['A'].value_counts().plot(kind='bar')
plt.title('分布情况')
plt.xlabel('数值')
plt.ylabel('数量')
plt.show()

# 保存处理后的数据
df.to_csv('processed_data.csv', index=False)

总结

通过以上步骤,可以在 Jupyter Notebook 中熟练地使用 Pandas 进行数据操作。从数据的读取、清洗、分析到可视化和保存,每一步都有其重要作用。结合 Markdown 单元格添加说明文字,可以使整个数据分析流程更加直观和易于理解。不断实践和探索不同的功能与方法,将有助于提高数据分析的效率和质量。

相关推荐
虎头金猫3 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
Xiu Yan3 天前
Python 数据分析:Pandas DataFrame 零基础入门教程
python·jupyter·pycharm·numpy·pandas
2501_915909063 天前
移动端开发工具链怎么组合比较好,iOS、Android、跨端三套配置方案
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
2501_915918414 天前
iOS编程用什么软件好?主流工具Xcode、AppCode、CodeRunner与新兴快蝎对比
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
2601_966949654 天前
为什么量化回测中 for 循环比 DataFrame 慢三个数量级?从向量化原理讲起
开发语言·python·pandas·股票数据·quantdash
Xiu Yan4 天前
Python 数据分析:Pandas Series 零基础入门教程
python·jupyter·pycharm·numpy·pandas
滕州市燕猫虎计算机科技工作室个体工商户5 天前
IDEA:Command line is too long
java·ide·intellij-idea
gCode Teacher 格码致知5 天前
Pandas教学-6:coerce详解
python·pandas
benchmark_cc5 天前
策略临时需要一批股票的最新价格,先查行情还是先建股票池?——从量化策略执行逻辑看数据获取顺序
python·数据分析·pandas·量化交易·股票数据·quantdash
2601_966949656 天前
只拿到股票代码还不够:量化程序到底还需要哪些标的信息?——从数据建模开始理解股票元数据
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash