• Pandas Series


    创建

    • 通过列表创建
    
    si = pd.Series([1, 2, 3, 4])
    
    • 通过 np.arange() 创建
    
    si = pd.Series(np.arange(8))
    
    • 通过对象创建
    
    si = pd.Series({'a': 1, 'b': 2, 'c': 3})
    

    属性

    • 查看Series的values
    
    si.values  # array([1, 2, 3])
    
    • 查看Series的index
    
    si.index  # Index(['1', '2', '3'], dtype='object')
    

    方法

    获取元素

    
    si = pd.Series([1, 2, 3], index=['A', 'B', 'C'])
    si['A']  # 1
    si[0]  # 1
    

    对值过滤

    
    si = pd.Series([1, 2, 3], index=['A', 'B', 'C'])
    si[si > 1]
    # B 2
    # C 3
    

    重置编号

    Series默认编号为int类型的数字,我们可以重置Series的编号

    • 在创建时重置
    
    si = pd.Series([1, 2, 3], index=['A', 'B', 'C'])
    # A    1
    # B    2
    # C    3
    
    • 通过 reindex() 方法重置

    reindex() 方法接收一个新的 index 列表,用于替换原来的 index ,如果新的 index 包含原来的 index 没有的元素则新增的index元素默认填充为 NaN ,可以通过指定参数 fill_value 改变默认的值。

    
    si = pd.Series([1, 2, 3])
    si.reindex(index=['A', 'B', 'C', 'D', 'E'])
    # A    NaN
    # B    NaN
    # C    NaN
    # D    NaN
    # E    NaN
    # dtype: float64
    
    
    s1 = pd.Series([1, 2, 3])
    s1.reindex(index=['A', 2, 'C', 'D', 'E'], fill_value=0)
    # A    0
    # B    3
    # C    0
    # D    0
    # E    0
    # dtype: int64
    

    内插或填充 method

    
    obj1=pd.Series(range(3), index=['a', 'c', 'e'])
    print(obj1.reindex(['a', 'b', 'c', 'd', 'e'], method='pad'))
    # a    0
    # b    0
    # c    1
    # d    1
    # e    2
    # dtype: int64
    

    ffillpad: 前向(或进位)填充
    bfillbackfill : 后向(或进位)填充

    转换为字典

    Series可以通过 to_dict() 转换为一个Python字典:

    
    si = pd.Series([1, 2, 3], index=['A', 'B', 'C'])
    si.to_dict()
    

    NaN

    判断NaN

    判断NaN,Series判断NaN有两个方法 isna()notna()

    • isna() 会对Series的每个元素的值进行判断,如果是NaN则为 True,否则为False
    • notna()会对Series的每个元素的值进行判断,如果是NaN则为 False,否则为True
    
    si = pd.Series([1, 2, 3, np.nan], index=['A', 'B', 'C', 'D'])
    si.isna()
    # A    False
    # B    False
    # C    False
    # D     True
    # dtype: bool
    

    删除NaN

    
    si.dropna()
    

    填充NaN项

    
    si.fillna(value)
    

    来源:https://segmentfault.com/a/1190000017310024

  • 相关阅读:
    nginx + keepalived 教程
    mysql 之 获取指定月份天数和指定月份上月天数
    hive 之将sql执行结果输出到文件中
    sql 之 处理一行全为0的记录
    Shell 基础知识
    kettle 调度时出现时区问题,导致数据调出加了8小时
    sql 之按指定分割符取分割符前/后字符串
    Spring Security(二)
    Spring Security(一)
    集成Swagger文档
  • 原文地址:https://www.cnblogs.com/qixidi/p/10160651.html
Copyright © 2020-2023  润新知