我是靠谱客的博主 懦弱自行车,最近开发中收集的这篇文章主要介绍python整形怎么索引_python – 按整数索引选择并修改pandas数据帧中的切片,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我有一个如下数据框:

df = pd.DataFrame([[1,2],[10,20],[1,40]],columns = ['a','b'])

a b

0 1 2

1 10 20

2 10 2

3 1 40

我想选择a == 1的b列,以下是经典选择:

df[df.a == 1].b

a b

0 1 2

3 1 40

然后我想选择这个子数据帧的第i行,这不是索引为i的行.还有几种方法,如下所示:

df[df.a == 1].b.iloc[[1]]

Output:

3 40

Name: b,dtype: int64

到现在为止还挺好.问题是当我尝试修改我到达那里的值时,实际上这个选择方法会产生数据帧切片的副本,而不是对象本身.因此我无法在原地进行修改.

test[test.a == 1].b.iloc[[1]] = 3

SettingWithCopyWarning:

A value is trying to be set on a copy of a slice from a DataFrame

我不知道“复制”问题在哪个部分,因为以下两个产生同样的问题:

test.iloc[[3]].b = 3

test[test.a == 1].b = 3

所以我的问题是这样的:如何通过掩码选择(有条件地在列值上)和行选择(通过子数据帧中的行的排名,而不是其索引值)来更改值?

最后

以上就是懦弱自行车为你收集整理的python整形怎么索引_python – 按整数索引选择并修改pandas数据帧中的切片的全部内容,希望文章能够帮你解决python整形怎么索引_python – 按整数索引选择并修改pandas数据帧中的切片所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部