精华内容
下载资源
问答
  • 主要介绍了pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[],文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • df.loc和df.iloc函数用法的df由pandas.read_csv()函数读取而来。 1. DataFrame.loc Access a group of rows and columns by label(s) or a boolean array. .loc[] is primarily label based, but may also be used ...

    关于pandas.dataframe.loc与pandas.dataframe.iloc用法官方说明,见官网
    df.loc和df.iloc函数用法的df,由pandas.read_csv()函数读取文件而来。

    1. DataFrame.loc

    Access a group of rows and columns by label(s) or a boolean array.
    .loc[] is primarily label based, but may also be used with a boolean array.
    主要是由字符串作为标签获取,有时也可用布尔型去获取。
    df.loc主要是依赖于行列的index字符串名,去索取指定行列位置处的值。loc[]括号内还可以加条件,如df.loc[df[‘shield’] > 6].
    在这里插入图片描述

    如该表:

    在这里插入图片描述
    该表首行为列名,没有行名。
    如要输出数值第1行(从第0行开始),第"409"列的数值0.000842

    根据行列名去提取数值

    import pandas as pd
    fn = 'F:\\leaf data\\WT梧桐\\叶片随角度变化\\WT1_merged.csv'
    df = pd.read_csv(fn)
    print(df.loc[1,'409'])
    
    0.0008421012126865671
    

    此方法不一定每次都行,在代码中经常遇到bug,如此刻的一个大段代码中就出现了问题。

    在这里插入图片描述
    用iloc[]无此问题,见最后一图。

    提取某些行

    import pandas as pd
    fn = 'F:\\leaf data\\WT梧桐\\叶片随角度变化\\WT1_merged.csv'
    df = pd.read_csv(fn)
    print(df.loc[[1,2]])
    #[[1,2]]指同时提取1,2行
    
       incidence angle    distance       409  ...  882       898       914
    1               10  546.478454  0.000842  ...  0.0  0.000611  0.000565
    2               20  547.647645  0.000803  ...  0.0  0.000462  0.000389
    
    [2 rows x 34 columns]
    
    print(df.loc[[1,3]])
    
    
       incidence angle    distance       409  ...  882       898       914
    1               10  546.478454  0.000842  ...  0.0  0.000611  0.000565
    3               30  545.938828  0.000799  ...  0.0  0.000705  0.000537
    
    [2 rows x 34 columns]
    

    提取某些列

    2. DataFrame.iloc

    Access group of rows and columns by integer position(s).
    Purely integer-location based indexing for selection by position.
    .iloc[] is primarily integer position based (from 0 to length-1 of the axis), but may also be used with a boolean array.
    由行列号去获取,如果获取指定行列号处的值,而表中又没有行列名使用,或者只有列名,没有行名(大多数情况下),那么推荐使用iloc.

    根据行列号提取数值

    import pandas as pd
    fn = 'F:\\leaf data\\WT梧桐\\叶片随角度变化\\WT1_merged.csv'
    df = pd.read_csv(fn)
    print(df.iloc[1,2])
    

    直接指定行列号,方便快捷,其中的行号不计列名那一行,从数值区域开始。

    0.0008421012126865671
    

    提取某些行

    第一行,所有列

    print(df.iloc[1,:])
    
    incidence angle     10.000000
    distance           546.478454
    409                  0.000842
    425                  0.000836
    442                  0.000974
    458                  0.000000
    474                  0.000000
    491                  0.000000
    ...
    882                  0.000000
    898                  0.000611
    914                  0.000565
    Name: 1, dtype: float64
    

    提取某些列

    第一行,第4、5列

    print(df.iloc[1,4:6])
    
    442    0.000974
    458    0.000000
    Name: 1, dtype: float64
    

    在这里插入图片描述


    展开全文
  • pandas df.loc df.iloc 区别

    千次阅读 2020-01-26 23:06:23
    df.iloc是通过索引访问行或者列, 所以df.iloc只能跟整数 举个例子 import numpy as np import pandas as pd s = pd.Series(data=np.nan, index=[49, 48, 47, 46, 45, 1, 2, 3, 4, 5]) s ''' 49 NaN...

    welcome to my blog

    df.loc是通过名字访问行或者列

    df.iloc是通过索引访问行或者列, 所以df.iloc只能跟整数

    举个例子

    import numpy as np
    import pandas as pd
    s = pd.Series(data=np.nan, index=[49, 48, 47, 46, 45, 1, 2, 3, 4, 5])
    s
    '''
    49   NaN
    48   NaN
    47   NaN
    46   NaN
    45   NaN
    1    NaN
    2    NaN
    3    NaN
    4    NaN
    5    NaN
    dtype: float64
    '''
    
    #s.iloc[:3]返回前三行, 因为iloc是通过索引访问行或者列的
    s.loc[:3]
    '''
    49   NaN
    48   NaN
    47   NaN
    dtype: float64
    '''
    
    #s.loc[:3]返回前8行, 因为loc是通过名字访问行或者列的
    s.iloc[:3]
    '''
    49   NaN
    48   NaN
    47   NaN
    46   NaN
    45   NaN
    1    NaN
    2    NaN
    3    NaN
    dtype: float64
    '''
    

    进阶的例子

    import numpy as np
    import pandas as pd
    df = pd.DataFrame(data=np.nan, index=list('abcde'), columns=['x', 'y', 'z', 8, 9])
    
    '''
        x   y   z   8   9
    a NaN NaN NaN NaN NaN
    b NaN NaN NaN NaN NaN
    c NaN NaN NaN NaN NaN
    d NaN NaN NaN NaN NaN
    e NaN NaN NaN NaN NaN
    '''
    
    # 获取c那一行的前四列
    print(df.iloc[:df.index.get_loc('c') + 1, :4])
    '''
        x   y   z   8
    a NaN NaN NaN NaN
    b NaN NaN NaN NaN
    c NaN NaN NaN NaN
    '''
    

    参考

    展开全文
  • df.loc和df.iloc函数用法的df,由pandas.read_csv()函数读取文件而来。 1. DataFrame.loc 主要是由字符串作为标签获取,有时也可用布尔型去获取。 df.loc主要是依赖于行列的index字符串名,去索取指定行列位置处...

    pandas.dataframe.loc与pandas.dataframe.iloc
    df.loc和df.iloc函数用法的df,由pandas.read_csv()函数读取文件而来。

    1. DataFrame.loc

    主要是由字符串作为标签获取,有时也可用布尔型去获取。
    df.loc主要是依赖于行列的index字符串名,去索取指定行列位置处的值。loc[]括号内还可以加条件,如df.loc[df[‘shield’] > 6].

    F1:根据行列名去提取数值
    print(df.loc[1,'409'])    (注:此方法可能出现bug,用iloc[]无此问题)

    F2:提取某些行
    print(df.loc[[1,2]])
    #[[1,2]]指同时提取1,2行

     

    2. DataFrame.iloc
    由行列号去获取,如果获取指定行列号处的值,而表中又没有行列名使用,或者只有列名,没有行名(大多数情况下),那么推荐使用iloc.

    F1:根据行列号提取数值
    print(df.iloc[1,2])    (注:行号不计列名那一行,从数值区域开始)

    结果:1行2列的值


    F2:提取某些行

    print(df.iloc[1,:])

    结果:第一行,所有列


    F3:提取某些列

    print(df.iloc[1,4:6])
    结果:第一行,第4、5列

    ———————————————
    版权声明:本段参考了CSDN博主「晋西北B博士」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_37970770/article/details/110307923

    ———————————————

    展开全文
  • ## df.loc与df.iloc的用法

    2020-02-23 17:10:39
    df.loc用法 df.loc[A,B] #A为行标签,B为列标签 df.loc[A, : ] #选取A行所有数据 还可按条件选择 df.loc[ df[ 'A’ ] = 400 , ...df.iloc[x,y] # x 为数据的行索引,y 为数据的列索引 二者都可以使用切片索引 ...

    df.loc用法

    df.loc[A,B] #A为行标签,B为列标签
    df.loc[A, : ] #选取A行所有数据

    还可按条件选择
    df.loc[ df[ 'A’ ] = 400 , ’ A ’ ] = 90
    #将A列中值为400的替换为90

    df.iloc用法

    df.iloc[x,y] # x 为数据的行索引,y 为数据的列索引

    二者都可以使用切片索引

    展开全文
  • pandas学习之df.iloc[]

    千次阅读 2020-06-28 15:42:57
    pandas 学习之df.iloc[] df.iloc[]的用法和df.loc[]类似,最大的区别在于,loc是基于行列的标签进行检索,而iloc是基于位置进行检索。实际使用上iloc比loc会好用一些,因为使用loc时,还要判断标签的数据类类型。...
  • 前言 本文主要是关于Pandas中.iloc和.loc的用法示例。 Pandas版本:V1.1.1 运行环境:Jupyter notebook 模块导入 & 数据读取 import pandas as pd ...df = pd.read_csv('/home/kesci/work/Pandas教程/...df.iloc[0
  • 文章目录思维导图一、df.loc[]与df.iloc[]区别二、df.loc[]详解df.loc[] 允许输入三、df.iloc[]详解df.iloc[] 允许输入df.loc[]与df.iloc[]例子对比1.创建数据集2.整数索引3.列表索引切片索引4.布尔索引函数/条件...
  • pandas中df.iloc函数应用

    千次阅读 2019-02-17 11:34:53
    (官方文档http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.iloc.html#pandas.DataFrame.iloc) 啥意思呢,意思就是iloc函数只根据行列号对数据进行切片或选择,与loc函...
  • df是DataFrame的缩写,... 2)区域选取(多维选取):df.loc[],df.iloc[],df.ix[]。 这种方式可以同时为多个维度设置筛选条件。  3)单元格选取(点选取):df.at[],df.iat[]。 准确定位一个单元格。 ...
  • pandas中df.ix, df.loc, df.iloc 的使用场景以及区别: https://stackoverflow.com/questions/31593201/pandas-iloc-vs-ix-vs-loc-explanation # Note: in pandas version 0.20.0 and above, ix is deprecated and ...
  • python pandas df.iloc[]的典型用法

    千次阅读 2020-05-10 11:52:05
    df.loc[] 根据行标或者列标获取数据不同的是df.iloc[]则根据数据的坐标(position)获取,如下图红色数字所标识: iloc[] 同样接受两个参数,分别代表行坐标,列坐标。可以接受的参数 类型为数字,数字类型的列表...
  • Python笔记:df.loc[]和df.iloc[]的区别

    万次阅读 多人点赞 2019-03-06 10:24:40
    stackoverflow原文:pandas iloc vs ix vs loc explanation; how are they different? 在pandas 0.20.0及以上版本,ix已经被loc和iloc取代了,因此不讨论它。 前提,简单介绍一下它俩: – loc利用index的名称,...
  • pandas_df.iloc_apply

    2021-04-07 15:31:58
    df = pd.DataFrame( { "姓名":['张三', '李四', '王二麻'], "民族":['汉','回','汉'], "分数":[410, 420, 430] }) 姓名 民族 分数 0 张三 汉 410 1 李四 回 420 2 王二麻 ...
  • pandas之DataFrame取行列(df.loc(),df.iloc())以及索引

    千次阅读 多人点赞 2020-01-16 19:15:02
    import pandas as pd import numpy as np df = pd.DataFrame(np.arange(24).reshape(6,4),index=list("ABCDEF"),columns=list("WXYZ")) # df 输出的结果为: W X Y Z A 0 1 2 3 B 4 5 6 7 C 8...
  • dataframe之df.loc、df.ilocdf.ix

    千次阅读 2018-01-03 22:49:31
    import pandas as pd import numpy ...修改源数据的时候建议使用df.loc或者df.iloc,不然会出现SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,502
精华内容 9,400
关键字:

df.iloc