teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

わかりやすく説明するため

2020/09/23 20:12

投稿

mini1988
mini1988

スコア56

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,8 @@
1
1
  ### 困っていること
2
- 手持ちで持っているデータフレームにおいて、ある行のデータセットが他の行のデータセットと重複している場合が散見され、データ数もかなり多い状況にあります。
2
+ 手持ちデータフレームにおいて、ある行のデータセットが他の行のデータセットと重複している場合が散見され、かつデータ数も2000行以上と、かなり多い状況にあります。
3
3
 
4
+ 今、私が実現したいことは、
5
+
4
6
  たとえば、
5
7
  10行目が 100行目,200行目,300行目と重複している
6
8
  20行目が 700行目,800行目,900行目と重複している

3

もっとわかりやすく説明するため

2020/09/23 20:12

投稿

mini1988
mini1988

スコア56

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  ### 困っていること
2
- 行数の多いデータフレームにおいて、行番号(インデックス)小さいものに対して重複している番号(インデックス)を一覧として出力するにはどうすればいのでしょうか。自分でもfor文で回して作ってみたのですが、データフレームの行が2000行以上あるので、異常に時間がかっており、for文で書く以外の方法を知りたいです。どたかお分かの方、ご教授ただければ幸いです。
2
+ 手持ちで持ってデータフレームにおいて、あるータセトが他の行ータセ重複している場合散見され、データ数かなり状況にあります。
3
3
 
4
4
  たとえば、
5
5
  10行目が 100行目,200行目,300行目と重複している
@@ -8,6 +8,11 @@
8
8
 
9
9
  [[10,[100,200,300],
10
10
  [20,[700,800,900]]
11
+
12
+ 上記のことを実現させるために、自分でもfor文で回して作ってみたのですが、データフレームの行数が2000行以上あるので、異常に時間がかかっており、for文以外のもっと効率的に期待した結果を返す方法を知りたく思っています。どなたかお分かりの方、ご教授いただければ幸いです。
13
+
14
+
15
+
11
16
  ### 私が書いたコード
12
17
  ちなみに、以下のようなコードを書いたのですが、異常に時間がかかって困っています。何か効率的に重複する行番号を出力する良い方法があれば教えていただきたいです。
13
18
  ```ここに言語を入力

2

一部変更のため

2020/09/23 20:10

投稿

mini1988
mini1988

スコア56

title CHANGED
File without changes
body CHANGED
@@ -14,9 +14,9 @@
14
14
  results=[]
15
15
  cnt=0
16
16
  err=[]
17
- for i in list(df[~df.duplicated()].index):
17
+ for i in list(df[df.duplicated(keep=False)].index):
18
18
  tmp=[]
19
- for k in range(len(df)):
19
+ for k in list(df[df.duplicated(keep=False)].index):
20
20
  if i!=k:
21
21
  if k not in err:
22
22
  if list(df.iloc[i,:])==list(df.iloc[k,:]):
@@ -24,5 +24,6 @@
24
24
  err.append(k)
25
25
  cnt+=1
26
26
  err.append(i)
27
+ if len(tmp)>0:
27
- results.append([i,tmp])
28
+ results.append([i,tmp])
28
29
  ```

1

日本語を分かりやすくするため

2020/09/23 19:46

投稿

mini1988
mini1988

スコア56

title CHANGED
@@ -1,1 +1,1 @@
1
- [python] 行数の多いデータフレームで重複する行番号を効率よく出力する方法が分からず困っています
1
+ [python] 行数の多いデータフレームで重複する行の行番号を効率よく出力する方法が分からず困っています
body CHANGED
File without changes