python pandas dataframe 选择一行 索引、loc、iloc、ix的用法及区别

目录

方法1:使用数字索引选取行。这是最简单的方法。

方法2:使用轴标签loc选取行数据

方法3:使用整数标签iloc选取行数据

方法4:使用ix可以实现

方法5:读取dataframe中同时在某一行和某一列的数据


在dataframe对象中,如何选择一行数据?如何选择某一个数据?先创建一个dataframe对象,进行演示:

df = pd.DataFrame(np.arange(16).reshape(4, 4),
                  index = ['a','b','c','d'],
                  columns=['Ohio', 'Texas', 'California','Los'])

df输出如下:

方法1:使用数字索引选取行。这是最简单的方法。

df[:1]

输出如下:

这里需要注意一点,不能使用df[1]这样的方式,选取第一行。使用df[1]的时候,会报错。

方法2:使用轴标签loc选取行数据

loc的用法为df.loc[行索引]

df.loc['a'],会选取a这一行,如果两行的话,可以用df[['a','b']]来实现。

输出如下:

方法3:使用整数标签iloc选取行数据

iloc的用法为df.iloc[行数]。用法类似于loc,只不过把索引变为了数字。

例如:df.iloc[0]选取第一行数据,输出如下:

输出的第一行的数据,该数据类型为Series。

方法4:使用ix可以实现

ix可以同时包括标签和整数。但是pandas的设计者认为ix有些神奇的索引行为,已经不建议使用。这里不进行介绍了。

方法5:读取dataframe中同时在某一行和某一列的数据

使用df.loc['行索引', '列索引']实现,例如:df.loc['a','Ohio']

得到在第一行,第一列的数据0。同样可以使用df.iloc[0]起到相同的效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pandas是一个强大的数据分析工具,在数据处理过程中,我们经常需要对DataFrame查询操作。Pandas提供了多种查询方法,包括lociloc、at、iat和ix。以下是对这些方法的详细解释和区别。 1. locloc是通过标签和列标签进查询的方法。例如,可以使用df.loc[row_index, column_name]的方式来查询DataFrame的特定值或列的子集。其中row_index可以是单个索引索引列表或布尔数组,column_name可以是单个列名或列名列表。loc方法返回的是一个新的DataFrame或Series对象,以便进进一步的操作。 2. ilociloc是通过索引和列索引查询的方法。它与loc用法类似,但是不是使用标签,而是使用整数位置来定位数据。例如,可以使用df.iloc[row_index, column_index]的方式来查询DataFrame的特定值或列的子集。同样地,iloc方法返回的也是一个新的DataFrame或Series对象。 3. at:at用于直接查询DataFrame中的单个元素,它使用标签和列标签来定位。例如,可以使用df.at[row_label, column_label]的方式来获取特定位置的值。与loc方法相比,at方法更快,并且只返回标量值。 4. iat:iat用于通过整数位置来查询DataFrame中的单个元素。可以使用df.iat[row_index, column_index]的方式来获取特定位置的值。iat方法与at方法的区别ilocloc区别相似。 5. ix:在旧版本的pandas中,ix方法用于混合标签和整数位置的查询。它可以使用标签或整数位置来定位数据,但是由于存在一些歧义和性能问题,自从pandas 0.20版本后,被推荐使用lociloc方法来替代ix方法。 总的来说,loc和at是通过标签进查询的方法,iloc和iat是通过整数位置进查询的方法。同时,lociloc返回的是一个新的DataFrame或Series对象,而at和iat只返回标量值。在实际使用中,根据需要选择不同的查询方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值