我有一个 Excel 文件,其中有一列包含多个单词。我正在尝试计算每个单词出现的频率。
所以如果我有一个清单
Labels
a
a
b
b
c
c
c
输出应该是
c : 3
b : 2
a : 2
我正在使用以下代码片段
import pandas as pd
train = pd.read_csv("ani2.csv")
A = train['Labels'].value_counts()
f = open("ani3.csv",'a')
f.write(str(A))
f.close()
该数据集大约有 53000 个值,我获得的输出被截断了。我获得的输出就是这种格式。
z : 1700
y : 1500
x : 1000
...
c : 3
b : 2
a : 2
由于某种原因,中间的值丢失了,我得到的只是三个点。
你正在路过str(A)
只要打电话to_csv
on A
:
A = train['Labels'].value_counts()
A.to_csv("ani3.csv",mode='a')
当你这样做的时候str(A)
您正在将输出(将受到 pandas 显示选项的影响)转换为字符串表示形式,这就是您得到的原因...
.
你可以在这里看到效果:
In [34]:
df = pd.DataFrame(np.random.randn(100,1), columns=['a'])
str(df['a'].value_counts())
Out[34]:
'-1.115774 1\n-0.196748 1\n-0.193616 1\n-0.197265 1\n 0.745611 1\n 0.766238 1\n-0.263205 1\n 0.542410 1\n-1.930702 1\n-0.913680 1\n 1.150879 1\n 0.213193 1\n-1.245947 1\n-2.610836 1\n 1.482863 1\n 0.430732 1\n-1.290851 1\n-0.962350 1\n-0.160461 1\n 1.895585 1\n 0.923683 1\n-1.206336 1\n 0.454317 1\n 0.293499 1\n-1.289761 1\n-0.191499 1\n 1.311149 1\n 0.380678 1\n 0.964312 1\n-0.703558 1\n ..\n-0.384447 1\n 0.172968 1\n-0.221997 1\n 0.133441 1\n-0.343758 1\n-0.897193 1\n-0.525859 1\n-0.226437 1\n-0.552760 1\n-1.991686 1\n 0.517877 1\n 0.659020 1\n 1.680185 1\n 0.155123 1\n-0.788438 1\n-1.364535 1\n 0.034736 1\n 0.494853 1\n 1.113248 1\n-1.449296 1\n 1.123138 1\n-0.747243 1\n-0.429054 1\n-0.567881 1\n-0.476616 1\n-2.630239 1\n 0.084506 1\n 1.250732 1\n 0.071242 1\n-0.432580 1\nName: a, dtype: int64'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)