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

回答編集履歴

1

修正

2020/10/14 05:54

投稿

jeanbiego
jeanbiego

スコア3966

answer CHANGED
@@ -1,5 +1,7 @@
1
- たとえば、下記のような処理でしょうか。
1
+ ~~たとえば、下記のような処理でしょうか。~~
2
- 県と年齢が重複している行を削除しています。
2
+ ~~県と年齢が重複している行を削除しています。~~
3
+ 完全に誤読していました。
4
+ 以下でどうでしょうか。
3
5
 
4
6
  ```python3
5
7
  import io
@@ -9,29 +11,24 @@
9
11
  1 東京 鈴木 23
10
12
  2 東京 高橋 23
11
13
  3 東京 加藤 23
12
- 4 大阪 田中 23
14
+ 4 東京 田中 23
13
15
  5 東京 鈴木 24
14
- 6 大阪 高橋 25
16
+ 6 東京 高橋 25
15
17
  7 東京 斎藤 23"""
16
18
  df = pd.read_table(io.StringIO(data))
17
19
  df.columns = ['県', '名前', '年齢']
18
20
 
19
-
20
- print(df.duplicated(subset=['県', '年齢'], keep=False))
21
- #0 True
22
- #1 True
23
- #2 True
24
- #3 True
25
- #4 False
21
+ for col in df.columns:
26
- #5 False
27
- #6 False
28
- #7 True
29
- #dtype: bool
22
+ if df[col].nunique() == 1:
30
-
31
- df = df.drop_duplicates(subset=['県', '年齢'], keep=False)
23
+ df = df.drop(col, axis=1)
32
24
  print(df)
33
- #名前 年齢
25
+ # 名前 年齢
26
+ #0 田中 23
27
+ #1 鈴木 23
28
+ #2 高橋 23
29
+ #3 加藤 23
34
- #4 大阪 田中 23
30
+ #4 田中 23
35
- #5 東京 鈴木 24
31
+ #5 鈴木 24
36
- #6 大阪 高橋 25
32
+ #6 高橋 25
33
+ #7 斎藤 23
37
34
  ```