zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Java Output流写入包装问题
    SpringBoot项目单元测试不经过过滤器问题
    SpringSecurity集成启动报 In the composition of all global method configuration, no annotation support was actually activated 异常
    JWT jti和kid属性的说明
    Maven 排除依赖
    第五章 基因概念的发现
    第三章 孟德尔遗传的拓展
    第二章 孟德尔遗传
    第一章 引言
    GWAS全基因组关联分析
  • 原文地址:https://www.cnblogs.com/qixidi/p/10160651.html
Copyright © 2011-2022 走看看