千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 先看看离婚率,再520表白 之 DataFrame切片

先看看离婚率,再520表白 之 DataFrame切片

来源:千锋教育
发布人:syq
时间: 2022-08-12 14:27:11 1660285631

  #### 切片

  切片的概念同前面Series中说到的切片一样,当我们要获取**连续的**多行或者多列数据的时候考虑使用切片。

DataFrame切片

  切片也是获取多行或者多列数据的一种方式。

  代码展示(大家可以注释其他的,逐个演示哦):

  ```python

  # 连续多行获取

  row_list1 = data.loc['北京市':'吉林省']

  print(row_list1)

  row_list2 = data['北京市':'吉林省':2]

  print(row_list2)

  # 隐式连续多行

  row_list3 = data.iloc[3:10]

  print(row_list3)

  # 隐式多列获取 (连续的列)

  col_list2 = data.iloc[:,2:6]

  print(col_list2)

  # 指定步长

  col_list3 = data.iloc[:,2:10:2]

  print(col_list3)

  # 指定行列和步长

  data1 = data.iloc[2:15:2:2:10:3]

  print(data1)

  ```

  另外loc还可以支持bool列表的形式,我们使用一个简单的数据给大家展示。

  ```python

  df = pd.DataFrame([[1, 2, 3,4], [4, 5, 6,7]], index=['row0', 'row1'], columns=['col0', 'col1', 'col2','col3'])

  df.loc[[True,False]]

  ```

  结果:  

屏幕快照 2021-05-20 下午5.41.05

  当然还可以有条件的获取,指定的行或者列。代码如下:

  ```python

  df = pd.DataFrame([[1, 2, 3,4], [4, 5, 6,7], [8, 9, 10,11]], index=['row0', 'row1','row2'], columns=['col0', 'col1', 'col2','col3'])

  df.loc[df['col1']>=5] # 获取col1列数值大于5的行

  # df.loc[:,df.loc['row1']>5] # 获取row1值大于5的列

  ```  

屏幕快照 2021-05-20 下午5.57.50

  问题来啦!如果获取北京市2017年第1季度结婚登记的结婚数据如何获取呢?那就是元素获取了。

  我们给大家分了如下几种获取方式:

  > 先获取行在获取列,如:df.loc\["北京市"]["2017年第1季度结婚登记"]

  >

  > 先获取列在获取行,如:df\["2017年第1季度结婚登记"]["北京市"]

  >

  > 二维形式进行获取单个值,如:df.loc["北京市","2017年第1季度结婚登记"] 或者 df.iloc[行隐式索引,列隐式索引]

  ```

  data.loc["北京市"]["2017年第1季度结婚登记"]

  # data["2017年第1季度结婚登记"]["北京市"]

  # data.loc["北京市","2017年第1季度结婚登记"]

  ```  

屏幕快照 2021-05-20 下午5.34.26

  总结: loc和iloc函数都是用来选择某行/列的,iloc与loc的不同是:iloc是按照行/列索引所在的位置来选取数据,参数只能是整数。而loc是按照索引名称来选取数据,参数类型依索引类型而定;

  更多关于Python培训的问题,欢迎咨询千锋教育在线名师,如果想要了解我们的师资、课程、项目实操的话可以点击咨询课程顾问,获取试听资格来试听我们的课程,在线零距离接触千锋教育大咖名师,让你轻松从入门到精通。

  注:本文部分文字和图片来源于网络,如有侵权,请联系删除。版权归原作者所有!

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT