我正在使用一个熊猫DataFrame,它包含两列,一列用于ImageID,另一列用于标签
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,它将产生以下输出:
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语句,输出就会完全改变。
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时,输出会发生变化,并且不会像第一种情况那样输出数据帧。提前谢谢
发布于 2022-08-05 02:06:40
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)]https://stackoverflow.com/questions/73243906
复制相似问题