Python Pandas将列截断到特定长度,而不剪切最后一个单词



我试图将列的长度减少到50,并使用这个lambda fct:

df['col_1'] = df['col_1'].apply(lambda x: x[:50])

它工作得很好,除了它剪切了最后一个单词,我需要一个解决方案,即使长度会减少几个字符,也会删除最后一个词。

感谢您对的任何建议

截断到长度不超过50的字符,并截断最后一个字:

df['col_1'] = df['col_1'].apply(lambda x: ' '.join(x[:50].split(' ')[:-1]) if len(x) > 50 else x)

请注意,反过来(先剪掉,然后再截断(可能会在句子末尾出现半个单词。

lambda表达式是如何工作的?

  1. 它被赋予x,一个当前要处理的句子
  2. 它检查句子长度是否超过50个字符
    2.1。如果是,它首先截断到50个字符,然后删除最后一个单词
    2.2。否则,句子少于50个字符,句子保持完整

相关内容

  • 没有找到相关文章

最新更新