数据框dat含有特征特性为字符串、品种名称、品种来源、产量表现列现利用pandas增加新列种植类型提取特征特性里的‘春’、‘夏’、‘秋’字符返回给种植类型同时存在‘春’和‘夏’返回‘春夏’
可以使用apply方法和lambda函数来实现:
dat['种植类型'] = dat['特征特性'].apply(lambda x: '春'*(('春' in x) and ('夏' not in x)) + '夏'*(('夏' in x) and ('春' not in x)) + '春夏'*(('春' in x) and ('夏' in x)))
解释一下这个lambda函数的逻辑:
- 如果特征特性里只有春,返回春;
- 如果特征特性里只有夏,返回夏;
- 如果特征特性里同时有春和夏,返回春夏;
- 如果特征特性里没有春和夏,返回空字符串。
然后将这个新列赋值给dat的种植类型列即可。
原文地址: https://www.cveoy.top/t/topic/dWkN 著作权归作者所有。请勿转载和采集!