我有以下数据帧:
Item Weight Bags Must quantity must quantity bags column length assigned bag
0 planes bag 8.50 planes v 1 1 6 None
1 Full Bandolera 3.76 planes v 3 2 6 None
2 tail 0.30 planes 0 3 2 6 None
3 central wing 1.08 planes 0 3 2 6 None
4 engine 0.44 planes 0 3 2 6 None
5 height steer 0.12 planes 0 3 2 6 None
6 dihedral 0.40 planes 0 3 2 6 None
7 pods bag 8.72 pods v 1 1 4 None
8 Pod 1.74 pods v 3 2 4 None
9 optic 0.86 pods v 2 2 4 None
我需要从以下dict键为指定的行李分配一个字符串:
bags = {'planes bag': 6,
'pods bag': 4,
'ground system bag': 13}
到目前为止,我有一个函数,可以过滤出符合我的条件的行,并通过以下方式填充:
bags_lens = list(bags.values())
df['assigned bag'] = df[(df['Must'] != 0) & (df['bags column length'].isin(bags_lens))]
print(df)
此函数检查是否必须进行检查,以及行李culoumn的长度是否与bags dict中的任何值匹配
如果一行同时符合这两个条件,我需要将其指定给指定的行李列
意思是,例如,行planes bag和full Bandolera应指定单词“planes bag” 到指定的行李列
澄清我想要的结果。 如果可能的话,我会这样做:
df['assigned bag'] =df['Bags'] if df[(df['Must'] != 0) & (df['bags column length'].isin(bags_lens))]
您实际要做的是^{} 将
bags column length
添加到此词典:但是,仅在
Must
不包含'0'
(字符串!)的条件下:相关问题 更多 >
编程相关推荐