首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从panda Dataframe的每一行中删除一个字符(^),并在每一行中获得唯一的单词

从panda Dataframe的每一行中删除一个字符(^),并在每一行中获得唯一的单词
EN

Stack Overflow用户
提问于 2019-05-07 19:42:59
回答 1查看 53关注 0票数 0

我想在dataframe df的每一行中将'^‘替换为’‘(空格),然后在每行中找到唯一的单词。

谢谢

代码语言:javascript
运行
复制
        ID              Text
0   B07HFHF2ZM  NaN
1   B07HFK5V4K  handloom saree^handloom cotton sarees^bengal h...
2   B07HFKHRTL  tantuja bengal handloom sarees^handloom saree^...
3   B07HFKLPL5  handloom sarees cotton bengal^bengal cotton sa...
4   B07HFKXWW3  cotton saree^bengal cotton sarees for women^ta...
5   B07HFL8J2D  tantuja bengal handloom sarees^handloom saree^...
6   B07HZY27MF  cotton saree^tantuja bengal handloom sarees^co...
7   B07HZZCH28  tantuja^tantuja bengal handloom sarees^cotton ...
8   B07J163MGJ  tangail saree handloom cotton^black cotton sar...
9   B07J191MR4  tantuja saree^bengal cotton sarees for women^b...
EN

回答 1

Stack Overflow用户

发布于 2019-05-07 20:26:59

关于替补,你们已经很接近了。

这应该是可行的:

代码语言:javascript
运行
复制
df['Text 2'] = pd.Series(map(lambda x: str(x).replace("^"," "), df['Text']))

在python3 map创建生成器时,您必须运行生成器才能获得结果。通常您可以使用list(map(...)),但在这种情况下,pandas.Series更可取,因为您希望创建一个dataframe列。

我还需要将x.str.replace更改为str(x).replace以使其正常工作,并将"c"更改为" "。如果需要空格,请使用空格,而不是'c‘字符。

要查找唯一的单词,可以使用Counter

代码语言:javascript
运行
复制
from collections import Counter
for row in df['Text2']:
    wordcounter = Counter(row.split())
    for w, i in wordcounter.items():
        if i == 1:
            print(w, end=' ')
    print('')

这将为每一行打印所有唯一的单词(出现一次的单词)。

如果你需要所有的单词(跳过重复),你可以使用set代替。

代码语言:javascript
运行
复制
for row in df['Text2']:
    wordcounter = set(row.split())
    print(wordcounter)

当然,您可以将它们添加到列表中,而不是打印,这取决于您想要如何处理这些独特的单词。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56021834

复制
相关文章

相似问题

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