2017-06-14 9 views
1

2つの日付間で複数のファイルをPandas DataFrameにインポートしようとしています。しかし、結果のデータフレームには、1つのコピーではなく、複数のコピーがあります。複数のファイルをpandasデータフレームに連結

私のコードは次のようになります。

Mu = pd.DataFrame() 
lis = [] 
for date in daterange: 
    path = 'Z:/directory/to/files' + date + '.txt' 
    frame = pd.read_csv(path,delimiter=' ', skipinitialspace=True,usecols=[0,1,2,3], 
       names = ['date','time','type1','type2'], 
       parse_dates = {'timestamp': ['date','time']}) 

    lis.append(frame) 
Mu = pd.concat(lis, axis =0, ignore_index = True) 

私はこのようなファイルがある場合:私が欲しいもの

20170501 00:00:11 11 1 
20170501 00:00:20 21 2 
20170502 00:06:11 31 3 
20170502 00:30:11 41 4 
20170503 00:40:11 51 5 
20170503 00:50:11 61 6  
20170501 00:00:11 11 1 
20170501 00:00:20 21 2 
20170502 00:06:11 31 3 
20170502 00:30:11 41 4 
20170503 00:40:11 51 5 
20170503 00:50:11 61 6 
20170501 00:00:11 11 1 
20170501 00:00:20 21 2 
20170502 00:06:11 31 3 
20170502 00:30:11 41 4 
20170503 00:40:11 51 5 
20170503 00:50:11 61 6 

はこれです:

File A: 
20170501 00:00:11 11 1 
20170501 00:00:20 21 2 

File B: 
20170502 00:06:11 31 3 
20170502 00:30:11 41 4 

File C: 
20170503 00:40:11 51 5 
20170503 00:50:11 61 6 

を結果のデータフレームは、このようになります:

20170501 00:00:11 11 1 
20170501 00:00:20 21 2 
20170502 00:06:11 31 3 
20170502 00:30:11 41 4 
20170503 00:40:11 51 5 
20170503 00:50:11 61 6 

希望のデータフレームを作成するにはどうすればよいですか?

答えて

3

あなたはdrop_duplicatesを使用することができます。

Mu = Mu.drop_duplicates() 

は出力:

0 20170501 00:00:11 11 1 
1 20170501 00:00:20 21 2 
2 20170502 00:06:11 31 3 
3 20170502 00:30:11 41 4 
4 20170503 00:40:11 51 5 
5 20170503 00:50:11 61 6 
+0

それはあなたのニーズに合わせた場合のおかげで、これは問題ありません@Sanne – Sanne

+0

を働く、あなたは応答を受け入れることができますか? – Tbaki

関連する問題