首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在一栏熊猫中用最少的字符求值

在一栏熊猫中用最少的字符求值
EN

Stack Overflow用户
提问于 2019-04-17 15:45:11
回答 1查看 47关注 0票数 1

在df‘the’列中,我希望找到每行字符数最少的单词,并将该值放在df‘’lab‘中。

电流输出

代码语言:javascript
复制
group           stem                                      lab
-----------------  --------- ---------------------  -------------
notif           notify, notified                                nan
face-to-fac     face-to-face                                    nan
propo           proposed                                        nan
lift            lifted                                          nan
govern          governed, governing, government, governance     nan
constitut          constitute, constitutional                   nan
exp                expedient                                    nan
prev               preventing, prevent                          nan
tre                treat, treatment                             nan
work               working, works                               nan

预期产出

代码语言:javascript
复制
group           stem                                      lab
-----------------  --------- ---------------------  -------------
notif           notify, notified                                notify
face-to-fac     face-to-face                                    face-to-face
propo           proposed                                        proposed
lift            lifted                                          lifted
govern          governed, governing, government, governance     governed
constitut       constitute, constitutional                      constitute
exp             expedient                                       expedient
prev            preventing, prevent                             prevent
tre             treat, treatment                                treat
work            working, works                                  works 

试过

代码语言:javascript
复制
df['lab'] = df.stem.str.split(',').apply(lambda x: min(x, key=len))

但它的付出

代码语言:javascript
复制
TypeError: 'float' object is not iterable
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-17 15:48:38

您可以使用str.splitstemapply中的字符串中获取字符串列表,并将内置的min函数设置为key=len,以便返回最短的字符串:

代码语言:javascript
复制
df['lab'] = df.stem.str.split(',').apply(lambda x: min(x, key=len))

某些行的结果:

代码语言:javascript
复制
        group                                            stem         lab
0       notif                                notify, notified      notify
1  ace-to-fac                                      ace-to-fac  ace-to-fac
2      govern     governed, governing, government, governance    governed
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55731453

复制
相关文章

相似问题

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