全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

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

发布时间:2022-08-12 14:27:11
发布人:syq

  #### 切片

  切片的概念同前面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培训的问题,欢迎咨询千锋教育在线名师,如果想要了解我们的师资、课程、项目实操的话可以点击咨询课程顾问,获取试听资格来试听我们的课程,在线零距离接触千锋教育大咖名师,让你轻松从入门到精通。

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

相关文章

明道、teambition、Tower.im、Worktile、trello的功能都有哪些?

明道、teambition、Tower.im、Worktile、trello的功能都有哪些?

2023-10-14
反欺诈中所用到的机器学习模型有哪些?

反欺诈中所用到的机器学习模型有哪些?

2023-10-14
强化学习中on-policy与off-policy有什么区别?

强化学习中on-policy与off-policy有什么区别?

2023-10-14
为什么交叉熵可以用于计算代价?

为什么交叉熵可以用于计算代价?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取