美文网首页
详解pandas获取Dataframe元素值的几种方法

详解pandas获取Dataframe元素值的几种方法

作者: 途中的蜗牛 | 来源:发表于2021-02-23 11:12 被阅读0次

    1、pandas.DataFrame.at

    根据行索引和列名,获取一个元素的值

    >>> df = pd.DataFrame([[0, 2, 3], [0, 4, 1], [10, 20, 30]],
    ...     columns=['A', 'B', 'C'])
    >>> df
     A B C
    0 0 2 3
    1 0 4 1
    2 10 20 30
    
    >>> df.at[4, 'B']  
    2
    
    >>> df.iloc[5].at['B']
    4
    

    2、pandas.DataFrame.iat

    根据行索引和列索引获取元素值

    >>> df = pd.DataFrame([[0, 2, 3], [0, 4, 1], [10, 20, 30]],
    ...     columns=['A', 'B', 'C'])
    >>> df
     A B C
    0 0 2 3
    1 0 4 1
    2 10 20 30
    
    >>> df.iat[1, 2]
    1
    
    >>> df.iloc[0].iat[1]
    2
    

    3、pandas.DataFrame.loc

    选取元素,或者行

    >>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
    ...  index=['cobra', 'viper', 'sidewinder'],
    ...  columns=['max_speed', 'shield'])
    >>> df
       max_speed shield
    cobra    1  2
    viper    4  5
    sidewinder   7  8
    

    选取元素

    >>> df.loc['cobra', 'shield']
    2
    

    选取行返回一个series

    >>> df.loc['viper']
    max_speed 4
    shield  5
    Name: viper, dtype: int64
    

    选取行列返回dataframe

    >>> df.loc[['viper', 'sidewinder']]
       max_speed shield
    viper    4  5
    sidewinder   7  8
     
    pandas.DataFrame.iloc
    >>> mydict = [{'a': 1, 'b': 2, 'c': 3, 'd': 4},
    ...   {'a': 100, 'b': 200, 'c': 300, 'd': 400},
    ...   {'a': 1000, 'b': 2000, 'c': 3000, 'd': 4000 }]
    >>> df = pd.DataFrame(mydict)
    >>> df
      a  b  c  d
    0  1  2  3  4
    1 100 200 300 400
    2 1000 2000 3000 4000
    

    按索引选取元素

    >>> df.iloc[0, 1]
    2
    

    获取行的series

    >>> type(df.iloc[0])
    <class 'pandas.core.series.Series'>
    >>> df.iloc[0]
    a 1
    b 2
    c 3
    d 4
    Name: 0, dtype: int64
    

    到此这篇关于详解pandas获取[Dataframe]

    原文:
    1、详解pandas获取Dataframe元素值的几种方法
    2、https://blog.csdn.net/sinat_29675423/article/details/87975489

    相关文章

      网友评论

          本文标题:详解pandas获取Dataframe元素值的几种方法

          本文链接:https://www.haomeiwen.com/subject/kblrfltx.html