【问题标题】:Count of repeated persian words in columns with pythonpython 列中重复波斯语单词的计数
【发布时间】:2021-02-02 08:45:24
【问题描述】:

我有什么:

我有一个包含 2 列的 DataFrame (df)。

df["Words"] 我有一些波斯语\波斯语单词。

Words Counts
سلام
کشور زیبا ؟
28 % ایران
ایران طلا
طلا ایران
سلام ایران

我会做什么:

我会将单词分开并计算“单词”列中每个单词的频率:

Words Counts
سلام 2
کشور 1
زیبا 1
؟ 1
ایران 4
طلا 2
% 1

我做了什么:

df.Words.str.get_dummies(sep=' ').mul(df['count'], axis=0).sum()

我从 python 收到的信息:

Words Counts
سلام NAN
کشور NAN
زیبا NAN
؟ NAN
ایران NAN
طلا NAN
% NAN

问题是格式还是代码?

【问题讨论】:

    标签: python nan farsi


    【解决方案1】:

    这处理“”和“.” (在句末)。我不确定波斯语中是否还有其他分隔符。如果您需要添加它们,只需将它们添加到“分隔符”字符串中即可。

    import pandas as pd
    import re
    
    separators = ". "
    df = pd.DataFrame({"Words": ["hi you there", "hello all"]})
    
    def get_word_len(words: str) -> int:
       return len(re.split(separators, words))
    
    df["Counts"] = df.Words.apply(get_word_len)
    
    print(df)
    

    感谢您的反馈。我对任务的理解有点错误。这应该可以解决您的问题。 (当然 df 应该替换为您的数据框:

    import pandas as pd
    
    df = pd.DataFrame({"Words": ["hi you there", "hello all hi"]})
    
    words = list()
    for word in df["Words"]:
        words = words + word.split(" ")
    
    df_a = pd.DataFrame({"words": words})
    print(df_a["words"].value_counts())
    

    结果:

    hi       2
    there    1
    all      1
    hello    1
    you      1
    

    【讨论】:

    • @Jsmoka 感谢您的支持。如果这解决了你的问题,也请接受我的回答:)
    • 不幸的是,这不是我想要的。我会,代码: 1- 分开这个词。 -->2-计算单词/符号--> 3-告诉我每个单词\符号的计数是多少
    猜你喜欢
    • 1970-01-01
    • 2018-02-01
    • 2017-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 2018-07-23
    相关资源
    最近更新 更多