質問編集履歴
4
わかりやすく説明するため
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
もっとわかりやすく説明するため
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
### 困っていること
|
2
|
-
|
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
一部変更のため
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[
|
17
|
+
for i in list(df[df.duplicated(keep=False)].index):
|
18
18
|
tmp=[]
|
19
|
-
for k in
|
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
|
-
|
28
|
+
results.append([i,tmp])
|
28
29
|
```
|
1
日本語を分かりやすくするため
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
[python] 行数の多いデータフレームで重複する行番号を効率よく出力する方法が分からず困っています
|
1
|
+
[python] 行数の多いデータフレームで重複する行の行番号を効率よく出力する方法が分からず困っています
|
body
CHANGED
File without changes
|