質問編集履歴

10

微調整

2019/07/23 02:20

投稿

Pablito
Pablito

スコア71

test CHANGED
File without changes
test CHANGED
@@ -100,6 +100,6 @@
100
100
 
101
101
  ```Python
102
102
 
103
- del df[df['Channel'] != 'アウトレット']
103
+ del group[group['Channel'] != 'アウトレット']
104
104
 
105
105
  ```

9

質問の変更

2019/07/23 02:20

投稿

Pablito
Pablito

スコア71

test CHANGED
File without changes
test CHANGED
@@ -16,21 +16,81 @@
16
16
 
17
17
 
18
18
 
19
- そこでIDとに最初購入店舗が
19
+ 色々試して質問がちゃごちゃしてきたで、
20
20
 
21
- 特定チャネルったユーザーに絞りたいのでが、
21
+ 最新状態けお見せしま
22
22
 
23
- ロジックの問題か、文法の問題かでうまく書けません。
23
+ ### 発生している問題・エラーメッセージ
24
+
25
+ ```
26
+
27
+ ---------------------------------------------------------------------------
28
+
29
+ TypeError Traceback (most recent call last)
30
+
31
+ <ipython-input-51-b2da77963fd8> in <module>
32
+
33
+ ----> 1 del df[df['St_SalesChannel'] != 'アウトレット店']
24
34
 
25
35
 
26
36
 
37
+ ~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\generic.py in __delitem__(self, key)
38
+
39
+ 3313 # there was no match, this call should raise the appropriate
40
+
27
- ### 発生している問題・エラーメッセージ
41
+ 3314 # exception:
42
+
43
+ -> 3315 self._data.delete(key)
44
+
45
+ 3316
46
+
47
+ 3317 # delete from the caches
28
48
 
29
49
 
30
50
 
31
- ```
51
+ ~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\internals\managers.py in delete(self, item)
32
52
 
53
+ 983 Delete selected item (items if non-unique) in-place.
54
+
55
+ 984 """
56
+
57
+ --> 985 indexer = self.items.get_loc(item)
58
+
59
+ 986
60
+
61
+ 987 is_deleted = np.zeros(self.shape[0], dtype=np.bool_)
62
+
63
+
64
+
65
+ ~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
66
+
67
+ 2655 'backfill or nearest lookups')
68
+
69
+ 2656 try:
70
+
71
+ -> 2657 return self._engine.get_loc(key)
72
+
73
+ 2658 except KeyError:
74
+
75
+ 2659 return self._engine.get_loc(self._maybe_cast_indexer(key))
76
+
77
+
78
+
79
+ pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()
80
+
81
+
82
+
83
+ pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()
84
+
85
+
86
+
33
- SyntaxError: invalid syntax
87
+ TypeError: '0 True
88
+
89
+
90
+
91
+ Name: Channel, Length: 2474084, dtype: bool' is an invalid key
92
+
93
+
34
94
 
35
95
  ```
36
96
 
@@ -38,96 +98,8 @@
38
98
 
39
99
  ### 該当のソースコード
40
100
 
41
-
42
-
43
101
  ```Python
44
102
 
45
- if df['Channel'] = df('アウトレット'):
103
+ del df[df['Channel'] != 'アウトレット']
46
-
47
- print(df)
48
-
49
- else:
50
-
51
- df.pop('EC')
52
104
 
53
105
  ```
54
-
55
-
56
-
57
- 因みにChannelがkeyで、
58
-
59
- アウトレットやECが中の値です。
60
-
61
-
62
-
63
- ###やってみたこと
64
-
65
-
66
-
67
- ```Python
68
-
69
- if df['St_SalesChannel'] == df(['St_SalesChannel']('アウトレット')):
70
-
71
- print(df)
72
-
73
- else:
74
-
75
- df.pop['St_SalesChannel']('EC', 'ショッピングセンター', '百貨店')
76
-
77
- ```
78
-
79
- としたら
80
-
81
-
82
-
83
- ``` ^
84
-
85
- TypeError: 'list' object is not callable
86
-
87
- ```
88
-
89
-
90
-
91
- ```Python
92
-
93
- df.iloc['St_SalesChannel' == 'アウトレット']
94
-
95
- ```
96
-
97
- これも
98
-
99
- ```
100
-
101
- TypeError: Cannot index by location index with a non-integer key
102
-
103
- ```
104
-
105
- というのが出て、
106
-
107
- 解決方法がわかりません。
108
-
109
-
110
-
111
- ifで絞るのは合っていると思うのですが、
112
-
113
- そもそもpopメソッドで合っているのか、
114
-
115
- df('アウトレット')の書き方が間違っているのではなど、
116
-
117
- 今も試行錯誤していますが、
118
-
119
- ぜひお力添えをお願い致します。
120
-
121
-
122
-
123
- p.s.
124
-
125
-
126
-
127
- ````Python
128
-
129
- df.query["Channel == 'アウトレット'"]
130
-
131
- ```
132
-
133
- もTypeError: 'method' object is not subscriptableでした。

8

タイトルの変更

2019/07/23 02:11

投稿

Pablito
Pablito

スコア71

test CHANGED
@@ -1 +1 @@
1
- Data FrameKeyの値条件で絞りたい
1
+ データ部分選択たい
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- 具体的にはある特定の値(アウトレット)をし、
13
+ 具体的にはある特定の値(アウトレット)を部分選択し、
14
14
 
15
15
  他は削除したいと考えています。
16
16
 

7

コードの追加

2019/07/23 01:54

投稿

Pablito
Pablito

スコア71

test CHANGED
File without changes
test CHANGED
@@ -117,3 +117,17 @@
117
117
  今も試行錯誤していますが、
118
118
 
119
119
  ぜひお力添えをお願い致します。
120
+
121
+
122
+
123
+ p.s.
124
+
125
+
126
+
127
+ ````Python
128
+
129
+ df.query["Channel == 'アウトレット'"]
130
+
131
+ ```
132
+
133
+ もTypeError: 'method' object is not subscriptableでした。

6

IDK

2019/07/23 01:50

投稿

Pablito
Pablito

スコア71

test CHANGED
File without changes
test CHANGED
@@ -88,6 +88,20 @@
88
88
 
89
89
 
90
90
 
91
+ ```Python
92
+
93
+ df.iloc['St_SalesChannel' == 'アウトレット']
94
+
95
+ ```
96
+
97
+ これも
98
+
99
+ ```
100
+
101
+ TypeError: Cannot index by location index with a non-integer key
102
+
103
+ ```
104
+
91
105
  というのが出て、
92
106
 
93
107
  解決方法がわかりません。

5

shuusei

2019/07/23 01:35

投稿

Pablito
Pablito

スコア71

test CHANGED
File without changes
test CHANGED
@@ -72,7 +72,7 @@
72
72
 
73
73
  else:
74
74
 
75
- df.pop['St_SalesChannel'('EC', 'ショッピングセンター', '百貨店')
75
+ df.pop['St_SalesChannel']('EC', 'ショッピングセンター', '百貨店')
76
76
 
77
77
  ```
78
78
 
@@ -82,15 +82,13 @@
82
82
 
83
83
  ``` ^
84
84
 
85
- SyntaxError: unexpected EOF while parsing
85
+ TypeError: 'list' object is not callable
86
86
 
87
87
  ```
88
88
 
89
89
 
90
90
 
91
91
  というのが出て、
92
-
93
- やはり構文がおかしいようですが、
94
92
 
95
93
  解決方法がわかりません。
96
94
 

4

修正

2019/07/23 01:04

投稿

Pablito
Pablito

スコア71

test CHANGED
File without changes
test CHANGED
@@ -60,6 +60,42 @@
60
60
 
61
61
 
62
62
 
63
+ ###やってみたこと
64
+
65
+
66
+
67
+ ```Python
68
+
69
+ if df['St_SalesChannel'] == df(['St_SalesChannel']('アウトレット')):
70
+
71
+ print(df)
72
+
73
+ else:
74
+
75
+ df.pop['St_SalesChannel'('EC', 'ショッピングセンター', '百貨店')
76
+
77
+ ```
78
+
79
+ としたら
80
+
81
+
82
+
83
+ ``` ^
84
+
85
+ SyntaxError: unexpected EOF while parsing
86
+
87
+ ```
88
+
89
+
90
+
91
+ というのが出て、
92
+
93
+ やはり構文がおかしいようですが、
94
+
95
+ 解決方法がわかりません。
96
+
97
+
98
+
63
99
  ifで絞るのは合っていると思うのですが、
64
100
 
65
101
  そもそもpopメソッドで合っているのか、

3

加筆修正

2019/07/23 00:58

投稿

Pablito
Pablito

スコア71

test CHANGED
File without changes
test CHANGED
@@ -7,6 +7,14 @@
7
7
  特定のターゲットに絞ったリストを
8
8
 
9
9
  作成したいと考えています。
10
+
11
+
12
+
13
+ 具体的にはある特定の値(アウトレット)を残し、
14
+
15
+ 他は削除したいと考えています。
16
+
17
+
10
18
 
11
19
  そこでIDごとに最初の購入店舗が
12
20
 

2

初心者マーク

2019/07/23 00:50

投稿

Pablito
Pablito

スコア71

test CHANGED
File without changes
test CHANGED
@@ -52,6 +52,8 @@
52
52
 
53
53
 
54
54
 
55
+ ifで絞るのは合っていると思うのですが、
56
+
55
57
  そもそもpopメソッドで合っているのか、
56
58
 
57
59
  df('アウトレット')の書き方が間違っているのではなど、

1

加筆修正

2019/07/23 00:40

投稿

Pablito
Pablito

スコア71

test CHANGED
File without changes
test CHANGED
@@ -46,6 +46,12 @@
46
46
 
47
47
 
48
48
 
49
+ 因みにChannelがkeyで、
50
+
51
+ アウトレットやECが中の値です。
52
+
53
+
54
+
49
55
  そもそもpopメソッドで合っているのか、
50
56
 
51
57
  df('アウトレット')の書き方が間違っているのではなど、