在 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 Scikit-Learn 中训练测试拆分得分高但 CV 得分低