2017-07-26 8 views
1

242000行のcsvファイルを検索していて、いずれかの列の一意の識別子を合計したいと考えています。列名は「logid」であり、1002,3004,5003という異なる値があります。私はpandaデータフレームを使用してcsvファイルを検索し、一意の識別子の量を合計します。可能であれば、私はこの情報を格納する新しいcsvファイルを作成したいと思います。たとえば、50のlogidが1004であるとわかったら、列名1004と50のカウントが下に表示されたcsvファイルを作成したいと思います。すべての一意の識別子に対してこれを行い、同じcsvファイルに追加します。私はこれで全く新しいものであり、検索をいくつか行っていますが、どこから始めたらいいのか分かりません。Pandas(ユニークID) - PythonでCSVファイルを検索する - Python

ありがとうございます!

+0

こんにちは、StackOverflowのへの歓迎。効果的な質問を書く方法を学ぶには[こちらをご覧ください](http://stackoverflow.com/help/how-to-ask)、方法については[こちら](http://stackoverflow.com/help/mcve)をご覧ください最小限で、完全で、検証可能な例を作成します。 – cmaher

答えて

0

コードを投稿していないので、一般的な方法でしか回答できません。

  1. CSVは以下のようにpandas.DataFrame.drop_duplicatesを使用して別々のDF1で出現> 1のすべての値pandas.read_csv
  2. 保存]を使用してpd.Dataframeにファイルをロード:

    DF1 = df.drop_duplicatesは、(「=保ちます最初)

- >これは、重複した値の最初の出現と行を含むデータフレームを戻します例:値1000は最初の行のみをbであろう5行にある場合。 eが返され、他はドロップされます。

- > df1.shape [0]を適用すると、dfの重複値の数が返されます。

あなたは別々のCSVに「重複する値」を含むDFのすべての行をファイル保存したい3.Ifはあなたがこのようになめらかをしなければならない。

df=pd.DataFrame({"A":[0,1,2,3,0,1,2,5,5]}) # This should represent your original data set 
print(df) 

df1=df.drop_duplicates(subset="A",keep="first") #I assume the column with the duplicate values is columns "A" if you want to check the whole row just omit the subset keyword. 

print(df1) 
list=[] 


for m in df1["A"]: 
    mask=(df==m) 
    list.append(df[mask].dropna()) 

for dfx in range(len(list)): 
    name="file{0}".format(dfx) 
    list[dfx].to_csv(r"YOUR PATH\{0}".format(name)) 
+0

私はこれを手伝ってもらえますか? – 2Obe

+0

追加情報が必要ですか? – 2Obe

関連する問題