首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫数据帧应用方法使用lambda函数改变o/p

熊猫数据帧应用方法使用lambda函数改变o/p
EN

Stack Overflow用户
提问于 2022-08-05 02:03:02
回答 1查看 19关注 0票数 0

我正在使用一个熊猫DataFrame,它包含两列,一列用于ImageID,另一列用于标签

代码语言:javascript
复制
train_data.head()
               Image_id  Label
0      id_004wknd7qd.jpg  blast
1  id_004wknd7qd_rgn.jpg  blast
2      id_005sitfgr2.jpg  brown
3  id_005sitfgr2_rgn.jpg  brown
4      id_00stp9t6m6.jpg  blast

现在有两种类型的映像-- RGB RGNs,第一行是RGB,第二行是RGN。我想把它们分成两个不同的数据帧。如果我尝试下面的行来选择RGB,它将产生以下输出:

代码语言:javascript
复制
train_rgbs = train_data.apply(lambda x : x if 'rgn' not in x.Image_id else None, axis = 1).dropna()

train_rgbs.head()
            Image_id    Label
0  id_004wknd7qd.jpg    blast
2  id_005sitfgr2.jpg    brown
4  id_00stp9t6m6.jpg    blast
6  id_012zxewnhx.jpg    blast
8  id_0186qwq2at.jpg  healthy

但是如果我更改了lambda函数if语句,输出就会完全改变。

代码语言:javascript
复制
train_rgns = train_data.apply(lambda x : x if 'rgn' in x.Image_id else None, axis = 1).dropna()
train_rgns.head()
1    Image_id    id_004wknd7qd_rgn.jpg
Label       ...
3    Image_id    id_005sitfgr2_rgn.jpg
Label       ...
5    Image_id    id_00stp9t6m6_rgn.jpg
Label       ...
7    Image_id    id_012zxewnhx_rgn.jpg
Label       ...
9    Image_id    id_0186qwq2at_rgn.jpg
Label       ...
dtype: object

为什么在选择RGNs时,输出会发生变化,并且不会像第一种情况那样输出数据帧。提前谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-05 02:06:40

代码语言:javascript
复制
train_rgbs = train_data[train_data.Image_id.apply(lambda x: 'rgn' not in x)]
train_rgns = train_data[train_data.Image_id.apply(lambda x: 'rgn' in x)]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73243906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档