2016-07-25 10 views
1

複数の単語からなる単一の列を持つExcelファイルがあります。私は各単語の出現の頻度を数えようとしています。私がリストを持っている場合は ので.value_counts()は、切り捨てられた結果を返します。

Labels 
a 
a 
b 
b 
c 
c 
c 

出力は、私はコードスニペット

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の値を持っており、出力I以下の使用しています

c : 3 
b : 2 
a : 2 

する必要があります得られたものは切断された。私が得た出力はこの形式であった。

z : 1700 
y : 1500 
x : 1000 
... 
c : 3 
b : 2 
a : 2 

中間の値は何らかの理由で欠けていて、私が得たものはすべて3ドットでした。

答えて

4

あなただけAto_csvを呼び出すstr(A)

を渡している:

A = train['Labels'].value_counts() 
A.to_csv("ani3.csv",mode='a') 

あなたは文字列に、パンダの表示オプションによって影響される出力を、変換しているstr(A)をしたときあなたは...を得る理由です。

あなたはここに効果を見ることができます:

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'