大数据最全Python大数据之pandas快速入门(二)_python提取指定行内容,2024年最新金三银四我带你去BAT面试现场

img
img

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

需要这份系统化资料的朋友,可以戳这里获取

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

文章目录

3. DataFrame 的行列标签和行列位置编号

3.1 DataFrame 的行标签和列标签

1)如果所示,分别是 DataFrame 的行标签和列标签

img

2)获取 DataFrame 的行标签

# 获取 DataFrame 的行标签
china.index

img

3)获取 DataFrame 的列标签

# 获取 DataFrame 的列标签
china.columns

img

4)设置 DataFrame 的行标签

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

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)示例1:获取行标签为 1952, 1962, 1972 行的 country、pop、gdpPercap 列的数据

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

img

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

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

img

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

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

img

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

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

img

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

img

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

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

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)示例1:获取行位置为 0, 2, 4 行的 0、1、2 列的数据

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

img

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

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

img

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

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



![img](https://img-blog.csdnimg.cn/img_convert/da81bd8b53a39bb50a33940521d79487.png)
![img](https://img-blog.csdnimg.cn/img_convert/4b17c08fd1b748b468accf43129f7701.png)

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

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**


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

图片转存中...(img-Dc0lWXh1-1715036442566)]
[外链图片转存中...(img-6yVI81f8-1715036442567)]

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

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**


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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值