在 Python 中拆分 Counter 得到的输出并推送到 Excel

Posted

技术标签:

【中文标题】在 Python 中拆分 Counter 得到的输出并推送到 Excel【英文标题】:Splitting the output obtained by Counter in Python and pushing it to Excel 【发布时间】:2018-09-18 09:09:49 【问题描述】:

我正在使用计数器功能来计算 20000 种产品描述中的每个单词,并查看这个单词重复了多少次,如“吸管”重复 1282 次。为此,我将 A 列拆分为 P、Q 列,R,S,T,U & V

df["P"] = df["A"].str.split(n=10).str[0]
df["Q"] = df["A"].str.split(n=10).str[1]
df["R"] = df["A"].str.split(n=10).str[2]
df["S"] = df["A"].str.split(n=10).str[3]
df["T"] = df["A"].str.split(n=10).str[4]
df["U"] = df["A"].str.split(n=10).str[5]
df["V"] = df["A"].str.split(n=10).str[6]

This shows the splitted products

我正在单独计算所有列,然后将它们相加以获得总字数。

d = Counter(df['P'])
e = Counter(df['Q'])
f = Counter(df['R'])
g = Counter(df['S'])
h = Counter(df['T'])
i = Counter(df['U'])
j = Counter(df['V'])
m = d+e+f+g+h+i+j 
print(m)

This is the image of the output i obtained on using counter.

现在我想将输出传输到 Excel 表中,其中一列中的键和另一列中的值。

我是否使用了正确的方法来做到这一点?如果是,我将如何将它们推入不同的列。

注意:每个key的长度不同

我还想把“A”列的所有项目都变成小写,这样计数器就不会重复这些项目。我该怎么办?

【问题讨论】:

【参考方案1】:

我学习 python 才几个月,但我会试一试。我确信有一些更好的方法可以执行相同的操作。也许我们都可以从这个问题中学到一些东西。让我知道结果如何。祝你好运

import pandas as pd
num = len(m.keys())  
df = pd.DataFrame(columns=['Key', 'Value']
for i,j,k in zip(range(num), m.keys(), m.values()):
    df.loc[i] = [j, k]

df.to_csv('Your_Project.csv')  

【讨论】:

我必须创建一个名为 d 的字典,以确保它有效,只需将 d 替换为 m 就可以了 我也觉得 pandas 可以让你更轻松地处理像查找单词重复次数这样的应用程序,你应该谨慎地探索 pandas 嘿,我有两组键和值,当我一起执行它们时,只有一组键和值出现在我的 excel 表中。我该怎么办?应该分开做吗? 两组键和值到底是什么意思? 像“m”一样,我还有一个称为“single”的计数器,我想将它们的键和值放在同一个 Excel 表中

以上是关于在 Python 中拆分 Counter 得到的输出并推送到 Excel的主要内容,如果未能解决你的问题,请参考以下文章

在 python 中训练测试拆分但考虑患者信息?

在 Python Scikit-Learn 中训练测试拆分得分高但 CV 得分低

如何在python中拆分整数输入?

如何在 python jinja 模板中输出 loop.counter?

python中counter()记数

Python中collections模块中的Counter()类