Pandas基础笔记

1 篇文章 0 订阅
1 篇文章 0 订阅

跟随菜鸟教程学习的过程中记录。
仅记录自己不熟悉的地方,以及与Java、C存在明显差异的地方。

主要数据结构是 Series (一维数据,一维数组)与 DataFrame(二维数据,表格型数据结构)

特殊字符串变量__version__前后都是两个下划线。
__init__也是前后各自双下划线

list、tuple有序,可以通过索引获取。

  • Series
    类似表格中的一列;由索引和列组成,索引默认从0开始。
    创建:1.使用list创建; 2.使用字典创建,字典的key直接变为索引。
    pandas.Series(data, index, dtype, name)

  • DataFrame
    可以看作是Series的字典,共用一个索引
    pandas.DataFrame(data, index, columns, dtype)

    index,索引值,也可称为行标签

    columns,列名称

    创建:1.NumPy Ndarray对象也可用于创建DataFrame; 2.字典创建,其中的key为列名,(相当于按行插值)。3.由Json字符串创建(因为Json与字典具有相同的格式)。

loc属性

pandas可以使用loc属性返回指定的行数据,默认索引从0开始。返回的其实是一个Series数据类型。也可以指定index的值,返回指定的行数据。

csv格式

CSV逗号分隔值(comma-sepatared values)

df.to_string() 返回DataFrame类型数据;直接输出,会返回列表数据的展示结果。
to_csv() 存储数据

df.head() # 读取前几行数据
df.tail() # 返回最后几行数据

df.info() # 返回表格的基本信息

JSON格式
  1. JSON(JavaScript Object Notation,Java对象表示法)
    df = pd.read_json()
    print(df.to_string()) # 返回DataFrame类型的数据

  2. 直接处理Json字符串:
    df = pd.DataFrame(data) # 将Json转为DataFrame格式(因为Json与字典具有相同的格式)

  3. 对于内嵌的JSON数据

    import pandas as pd
    import json
    
    # 使用 Python JSON 模块载入数据
    with open('nested_list.json','r') as f:
        data = json.loads(f.read())
    
    # 展平数据
    df_nested_list = pd.json_normalize(data, record_path =['students'])
    print(df_nested_list)
    
    # # 展平数据,包含json外的元素
    # df_nested_list = pd.json_normalize(
    #     data,
    #     record_path =['students'],
    #     meta=['school_name', 'class']
    # )
    
  4. 更复杂格式的转换

    使用到 glom 模块来处理数据套嵌,glom 模块允许我们使用 . 来访问内嵌对象的属性

数据清洗
  • 删除空字段所在行

    dropna(axis=0, how="any", subset=None, inplace=True) # inplace操作后会将结果覆盖原文件,默认为False。

  • subset,设置想要检查的列(该列中出现空值才会删除整行)。

  • pandas会将n/aNA当作空数据,na不是。但是可以指定空数据类型。

  • 替换/填补空字段
    fillna() # 常用方法是计算列的均值mean()、中位数值median()、众数mode(),然后传入fillna()中作为参数进行修改。

  • 格式错误 - 清洗

  • 时间格式

  • 重复数据的清洗
    duplicated() # 检查数据是否有重复
    drop_duplicates()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值