pandas.DataFrame.iloc函数总结

pandas.DataFrame.iloc函数

property DataFrame.iloc:基于整数的用于选定所需数据的函数。

函数输入:

1 输入单个整数

#构造数据
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

运行结果:
在这里插入图片描述

#输入单个整数
df.iloc[0]
#结果:
a    1
b    2
c    3
d    4
Name: 0, dtype: int64

df.iloc[1]
结果:
a    100
b    200
c    300
d    400
Name: 1, dtype: int64

type(df.iloc[0])
#结果:
pandas.core.series.Series

总结:单独输入一个整数时,返回的是行索引对应的一个Series

2 输入list或者array

df.iloc[[0]]

结果:
在这里插入图片描述

df.iloc[[0,1]]

结果:
在这里插入图片描述
总结:输入一个list,返回list元素对应的行。此时返回的数据类型为一个数据框。

3 输入切片

df.iloc[:3]

结果:
在这里插入图片描述
总结:切片的本质和list差不多,返回切片对应的行。此时返回的数据类型也为一个数据框。

4 输入布尔型array或list

df.iloc[[True, False, True]]

结果:
在这里插入图片描述
总结:true则返回对应的行,False则不返回。

5 调用函数

df.iloc[lambda x: x.index % 2 == 0]

结果:
在这里插入图片描述
总结:返回索引为偶数的行,此时调用函数返回类型相当于切片。

6 扩展

上述检索均在行数上检索,默认返回全部列数。可以在上面的各类情况中,再加上对应的输入数据,来检索对应的列。

#1-1输入两个整数
df.iloc[1,3]
#返回:400

#2-1输入两个list
df.iloc[[0, 2], [1, 3]]
#返回:
      b     d
0     2     4
2  2000  4000

#3-1输入两个切片
df.iloc[1:3, 0:3]
#返回:
      a     b     c
1   100   200   300
2  1000  2000  3000

#4-1在列数上输入布尔列表
df.iloc[:, [True, False, True, False]]
 #返回:
      a     c
0     1     3
1   100   300
2  1000  3000

#5-1在列数上调用函数
df.iloc[:, lambda df: [0, 2]]
   返回:
      a     c
0     1     3
1   100   300
2  1000  3000

参考资料:
pandas参考文档

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值