当前位置:   article > 正文

Python大数据之pandas快速入门(二)_python提取指定行内容_pandas读取指定行数据

pandas读取指定行数据

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注大数据)
img

正文

4)设置 DataFrame 的行标签

# 注意:DataFrame设置行标签时,并不会改变原来的DataFrame,而是返回的副本
china_df = china.set_index('year')

  • 1
  • 2
  • 3

img

3.2 DataFrame 的行位置编号和列位置编号

DataFrame 除了行标签和列标签之外,还具有行列位置编号。

行位置编号:从上到下,第1行编号为0,第二行编号为1,…,第n行编号为n-1

列位置编号:从左到右,第1列编号为0,第二列编号为1,…,第n列编号为n-1

img

注意:默认情况下,行标签和行位置编号是一样的。

4. DataFrame 获取指定行列的数据

以下示例都使用加载的 gapminder.tsv 数据集进行操作,注意将 year 这一列设置为行标签。

img

4.1 loc函数获取指定行列的数据

基本格式

语法说明
df.loc[[行标签1, ...], [列标签1, ...]]根据行标签和列标签获取对应行的对应 列的数据,结果为:DataFrame
df.loc[[行标签1, ...]]根据行标签获取对应行的所有列的数据 结果为:DataFrame
df.loc[:, [列标签1, ...]]根据列标签获取所有行的对应列的数据 结果为:DataFrame
df.loc[行标签]1)如果结果只有一行,结果为:Series 2)如果结果有多行,结果为:DataFrame
df.loc[[行标签]]无论结果是一行还是多行,结果为DataFrame
df.loc[[行标签], 列标签]1)如果结果只有一列,结果为:Series, 行标签作为 Series 的索引标签 2)如果结果有多列,结果为:DataFrame
df.loc[行标签, [列标签]]1)如果结果只有一行,结果为:Series, 列标签作为 Series 的索引标签 2)如果结果有多行,结果为DataFrame
df.loc[行标签, 列标签]1)如果结果只有一行一列,结果为单个值 2)如果结果有多行一列,结果为:Series, 行标签作为 Series 的索引标签 3)如果结果有一行多列,结果为:Series, 列标签作为 Series 的索引标签 4)如果结果有多行多列,结果为:DataFrame

演示示例

示例1:获取行标签为 1952, 1962, 1972 行的 country、pop、gdpPercap 列的数据
示例2:获取行标签为 1952, 1962, 1972 行的所有列的数据
示例3:获取所有行的 country、pop、gdpPercap 列的数据
示例4:获取行标签为 1957 行的所有列的数据
示例5:获取行标签为 1957 行的 lifeExp 列的数据

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

示例实现

1)示例1:获取行标签为 1952, 1962, 1972 行的 country、pop、gdpPercap 列的数据

# 示例1:获取行标签为 1952, 1962, 1972 行的 country、pop、gdpPercap 列的数据
china_df.loc[[1952, 1962, 1972], ['country', 'pop', 'gdpPercap']]

  • 1
  • 2
  • 3

img

2)示例2:获取行标签为 1952, 1962, 1972 行的所有列的数据

# 示例2:获取行标签为 1952, 1962, 1972 行的所有列的数据
china_df.loc[[1952, 1962, 1972]]

  • 1
  • 2
  • 3

img

3)示例3:获取所有行的 country、pop、gdpPercap 列的数据

# 示例3:获取所有行的 country、pop、gdpPercap 列的数据
china_df.loc[:, ['country', 'pop', 'gdpPercap']]

  • 1
  • 2
  • 3

img

4)示例4:获取行标签为 1957 行的所有列的数据

# 示例4:获取行标签为 1957 行的所有列的数据
china_df.loc[1957]

  • 1
  • 2
  • 3

img

# 示例4:获取行标签为 1957 行的所有列的数据
china_df.loc[[1957]]

  • 1
  • 2
  • 3

img

5)示例5:获取行标签为 1957 行的 lifeExp 列的数据

# 示例5:获取行标签为 1957 行的 lifeExp 列的数据
china_df.loc[[1957], 'lifeExp']
或
china_df.loc[1957, ['lifeExp']]
或
china_df.loc[1957, 'lifeExp']

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

img

4.2 iloc函数获取指定行列的数据

基本格式

语法说明
df.iloc[[行位置1, ...], [列位置1, ...]]根据行位置和列位置获取对应行的对应 列的数据,结果为:DataFrame
df.iloc[[行位置1, ...]]根据行位置获取对应行的所有列的数据 结果为:DataFrame
df.iloc[:, [列位置1, ...]]根据列位置获取所有行的对应列的数据 结果为:DataFrame
df.iloc[行位置]结果只有一行,结果为:Series
df.iloc[[行位置]]结果只有一行,结果为:DataFrame
df.iloc[[行位置], 列位置]结果只有一行一列,结果为:Series, 行标签作为 Series 的索引标签
df.iloc[行位置, [行位置]]结果只有一行一列,结果为:Series, 列标签作为 Series 的索引标签
df.iloc[行位置, 行位置]结果只有一行一列,结果为单个值

演示示例

示例1:获取行位置为 0, 2, 4 行的 0、1、2 列的数据
示例2:获取行位置为 0, 2, 4 行的所有列的数据
示例3:获取所有行的列位置为 0、1、2 列的数据
示例4:获取行位置为 1 行的所有列的数据
示例5:获取行位置为 1 行的列位置为 2 列的数据

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

示例实现

1)示例1:获取行位置为 0, 2, 4 行的 0、1、2 列的数据

# 示例1:获取行位置为 0, 2, 4 行的 0、1、2 列的数据
china_df.iloc[[0, 2, 4], [0, 1, 2]]

  • 1
  • 2
  • 3

img

2)示例2:获取行位置为 0, 2, 4 行的所有列的数据

# 示例2:获取行位置为 0, 2, 4 行的所有列的数据
china_df.iloc[[0, 2, 4]]

  • 1
  • 2
  • 3

img

3)示例3:获取所有行的列位置为 0、1、2 列的数据

# 示例3:获取所有行的列位置为 0、1、2 列的数据
china_df.iloc[:, [0, 1, 2]]

  • 1
  • 2
  • 3

img

4)示例4:获取行位置为 1 行的所有列的数据

# 示例4:获取行位置为 1 行的所有列的数据
china_df.iloc[1]

  • 1
  • 2
  • 3

img

# 示例4:获取行位置为 1 行的所有列的数据
china_df.iloc[[1]]

  • 1
  • 2
  • 3

img

5)示例5:获取行位置为 1 行的列位置为 2 列的数据

# 示例5:获取行位置为 1 行的列位置为 2 列的数据
china_df.iloc[[1], 2]
或
china_df.iloc[1, [2]]
或
china_df.iloc[1, 2]

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

img

4.3 loc和iloc的切片操作

基本格式

语法说明
df.loc[起始行标签:结束行标签, 起始列标签:结束列标签]根据行列标签范围获对应行的对应列的数据,包含起始行列标签和结束行列标签
df.iloc[起始行位置:结束行位置, 起始列位置:结束列位置]根据行列标签位置获对应行的对应列的数据,包含起始行列位置,但不包含结束行列位置

演示示例

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注大数据)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

` | 根据行列标签位置获对应行的对应列的数据,包含起始行列位置,但不包含结束行列位置 |

演示示例

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注大数据)
[外链图片转存中…(img-TnH5gqvk-1713318027803)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/1002560
推荐阅读
相关标签
  

闽ICP备14008679号