“第二课堂”ai实践 pandas笔记

Pandas总结笔记

Pandas是Python中一个非常强大的数据处理库,它提供了快速、灵活且表达式丰富的数据结构,旨在使“关系”或“标签”数据的处理工作变得既简单又直观。Pandas的两个主要数据结构是Series(一维数组)和DataFrame(二维的、表格型的数据结构)。以下是对Pandas的一些核心特性和常用功能的总结。

1. 数据结构
  • Series
    • 一维数组,可以存储任何数据类型(整数、字符串、浮点数、Python对象等)。
    • 它有一个标签(index)与数据关联,允许快速的数据访问。
    • 创建方式:pd.Series(data, index=index)
  • DataFrame
    • 二维的、表格型的数据结构,可以看作是由多个Series组成的字典(共享同一个索引)。
    • 每一列可以是不同的数据类型。
    • 创建方式:pd.DataFrame(data, index=index, columns=columns)
2. 数据读取与写入

Pandas支持多种文件格式的读取与写入,如CSV、Excel、JSON、SQL数据库等。

  • 读取数据
    • pd.read_csv(filepath_or_buffer, sep=',', ...)
    • pd.read_excel(io, sheet_name=0, ...)
    • pd.read_json(path_or_buf=None, orient=None, ...)
    • pd.read_sql_query(sql, con, index_col=None, ...)
  • 写入数据
    • DataFrame.to_csv(path_or_buf=None, sep=',', ...)
    • DataFrame.to_excel(excel_writer, sheet_name='Sheet1', ...)
    • DataFrame.to_json(path_or_buf=None, orient='records', ...)
    • DataFrame.to_sql(name, con, schema=None, if_exists='fail', ...)
3. 数据选择与过滤
  • 选择列
    • df['column_name'] 或 df.column_name(如果列名符合Python变量命名规则)
  • 选择行
    • 基于位置:df.iloc[row_indexer, column_indexer]
    • 基于标签:df.loc[row_labeler, column_labeler]
  • 条件过滤
    • 使用布尔索引:df[df['column_name'] > some_value]
4. 数据处理
  • 数据清洗
    • 缺失值处理:df.dropna()df.fillna(value)
    • 重复值处理:df.drop_duplicates()
  • 数据转换
    • 应用函数:df.apply(func, axis=0)
    • 映射替换:df['column_name'].map(lambda x: x.upper())
  • 数据分组与聚合
    • 分组:grouped = df.groupby('group_column')
    • 聚合:grouped.agg({'column1': 'sum', 'column2': 'mean'})
  • 数据排序
    • df.sort_values(by=['column1', 'column2'], ascending=[True, False])
  • 合并与连接
    • pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, ...)
    • pd.concat([df1, df2], axis=0, ignore_index=True)
5. 数据分析与可视化
  • 描述性统计
    • df.describe()
  • 数据可视化(通常结合Matplotlib或Seaborn):
    • df.plot()
    • 也可以利用Pandas内置的绘图方法直接对DataFrame或Series进行可视化,但更复杂的图表可能需要借助Matplotlib或Seaborn。
6. 性能优化
  • 使用合适的数据类型:减少内存占用,提高处理速度。
  • 避免不必要的复制:在修改DataFrame时,尽量原地修改,避免使用.copy()
  • 利用向量化操作:Pandas的许多操作都是基于向量化运算的,比循环快得多。
  • 设置合适的索引:好的索引可以极大地提高数据检索和过滤的速度。
  • 11
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值