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

質問編集履歴

10

微調整

2019/07/23 02:20

投稿

Pablito
Pablito

スコア71

title CHANGED
File without changes
body CHANGED
@@ -49,5 +49,5 @@
49
49
 
50
50
  ### 該当のソースコード
51
51
  ```Python
52
- del df[df['Channel'] != 'アウトレット']
52
+ del group[group['Channel'] != 'アウトレット']
53
53
  ```

9

質問の変更

2019/07/23 02:20

投稿

Pablito
Pablito

スコア71

title CHANGED
File without changes
body CHANGED
@@ -7,61 +7,47 @@
7
7
  具体的にはある特定の値(アウトレット)を部分選択し、
8
8
  他は削除したいと考えています。
9
9
 
10
- そこでIDごとに最初の購入店舗が
11
- 特定のチャネルだっユーザーに絞りたいのですが
10
+ 色々試して質問がごちゃごちゃしてきたので、
12
- ロジック問題か、文法の問題かでうまく書
11
+ 最新状態だお見します
13
-
14
12
  ### 発生している問題・エラーメッセージ
15
-
16
13
  ```
14
+ ---------------------------------------------------------------------------
15
+ TypeError Traceback (most recent call last)
17
- SyntaxError: invalid syntax
16
+ <ipython-input-51-b2da77963fd8> in <module>
18
- ```
17
+ ----> 1 del df[df['St_SalesChannel'] != 'アウトレット店']
19
18
 
19
+ ~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\generic.py in __delitem__(self, key)
20
+ 3313 # there was no match, this call should raise the appropriate
20
- ### 該当のソースコード
21
+ 3314 # exception:
22
+ -> 3315 self._data.delete(key)
23
+ 3316
24
+ 3317 # delete from the caches
21
25
 
26
+ ~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\internals\managers.py in delete(self, item)
27
+ 983 Delete selected item (items if non-unique) in-place.
22
- ```Python
28
+ 984 """
23
- if df['Channel'] = df('アウトレット'):
29
+ --> 985 indexer = self.items.get_loc(item)
24
- print(df)
25
- else:
26
- df.pop('EC')
27
- ```
30
+ 986
31
+ 987 is_deleted = np.zeros(self.shape[0], dtype=np.bool_)
28
32
 
33
+ ~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
34
+ 2655 'backfill or nearest lookups')
29
- 因みにChannelがkeyで、
35
+ 2656 try:
36
+ -> 2657 return self._engine.get_loc(key)
30
- アウトレットやECが中の値です。
37
+ 2658 except KeyError:
38
+ 2659 return self._engine.get_loc(self._maybe_cast_indexer(key))
31
39
 
32
- ###やってみたこと
40
+ pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()
33
41
 
34
- ```Python
35
- if df['St_SalesChannel'] == df(['St_SalesChannel']('アウトレット')):
42
+ pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()
36
- print(df)
37
- else:
38
- df.pop['St_SalesChannel']('EC', 'ショッピングセンター', '百貨店')
39
- ```
40
- としたら
41
43
 
42
- ``` ^
43
- TypeError: 'list' object is not callable
44
+ TypeError: '0 True
45
+
46
+ Name: Channel, Length: 2474084, dtype: bool' is an invalid key
47
+
44
48
  ```
45
49
 
50
+ ### 該当のソースコード
46
51
  ```Python
47
- df.iloc['St_SalesChannel' == 'アウトレット']
52
+ del df[df['Channel'] != 'アウトレット']
48
- ```
53
+ ```
49
- これも
50
- ```
51
- TypeError: Cannot index by location index with a non-integer key
52
- ```
53
- というのが出て、
54
- 解決方法がわかりません。
55
-
56
- ifで絞るのは合っていると思うのですが、
57
- そもそもpopメソッドで合っているのか、
58
- df('アウトレット')の書き方が間違っているのではなど、
59
- 今も試行錯誤していますが、
60
- ぜひお力添えをお願い致します。
61
-
62
- p.s.
63
-
64
- ````Python
65
- df.query["Channel == 'アウトレット'"]
66
- ```
67
- もTypeError: 'method' object is not subscriptableでした。

8

タイトルの変更

2019/07/23 02:11

投稿

Pablito
Pablito

スコア71

title CHANGED
@@ -1,1 +1,1 @@
1
- Data FrameKeyの値条件で絞りたい
1
+ データ部分選択たい
body CHANGED
@@ -4,7 +4,7 @@
4
4
  特定のターゲットに絞ったリストを
5
5
  作成したいと考えています。
6
6
 
7
- 具体的にはある特定の値(アウトレット)をし、
7
+ 具体的にはある特定の値(アウトレット)を部分選択し、
8
8
  他は削除したいと考えています。
9
9
 
10
10
  そこでIDごとに最初の購入店舗が

7

コードの追加

2019/07/23 01:54

投稿

Pablito
Pablito

スコア71

title CHANGED
File without changes
body CHANGED
@@ -57,4 +57,11 @@
57
57
  そもそもpopメソッドで合っているのか、
58
58
  df('アウトレット')の書き方が間違っているのではなど、
59
59
  今も試行錯誤していますが、
60
- ぜひお力添えをお願い致します。
60
+ ぜひお力添えをお願い致します。
61
+
62
+ p.s.
63
+
64
+ ````Python
65
+ df.query["Channel == 'アウトレット'"]
66
+ ```
67
+ もTypeError: 'method' object is not subscriptableでした。

6

IDK

2019/07/23 01:50

投稿

Pablito
Pablito

スコア71

title CHANGED
File without changes
body CHANGED
@@ -43,6 +43,13 @@
43
43
  TypeError: 'list' object is not callable
44
44
  ```
45
45
 
46
+ ```Python
47
+ df.iloc['St_SalesChannel' == 'アウトレット']
48
+ ```
49
+ これも
50
+ ```
51
+ TypeError: Cannot index by location index with a non-integer key
52
+ ```
46
53
  というのが出て、
47
54
  解決方法がわかりません。
48
55
 

5

shuusei

2019/07/23 01:35

投稿

Pablito
Pablito

スコア71

title CHANGED
File without changes
body CHANGED
@@ -35,16 +35,15 @@
35
35
  if df['St_SalesChannel'] == df(['St_SalesChannel']('アウトレット')):
36
36
  print(df)
37
37
  else:
38
- df.pop['St_SalesChannel'('EC', 'ショッピングセンター', '百貨店')
38
+ df.pop['St_SalesChannel']('EC', 'ショッピングセンター', '百貨店')
39
39
  ```
40
40
  としたら
41
41
 
42
42
  ``` ^
43
- SyntaxError: unexpected EOF while parsing
43
+ TypeError: 'list' object is not callable
44
44
  ```
45
45
 
46
46
  というのが出て、
47
- やはり構文がおかしいようですが、
48
47
  解決方法がわかりません。
49
48
 
50
49
  ifで絞るのは合っていると思うのですが、

4

修正

2019/07/23 01:04

投稿

Pablito
Pablito

スコア71

title CHANGED
File without changes
body CHANGED
@@ -29,6 +29,24 @@
29
29
  因みにChannelがkeyで、
30
30
  アウトレットやECが中の値です。
31
31
 
32
+ ###やってみたこと
33
+
34
+ ```Python
35
+ if df['St_SalesChannel'] == df(['St_SalesChannel']('アウトレット')):
36
+ print(df)
37
+ else:
38
+ df.pop['St_SalesChannel'('EC', 'ショッピングセンター', '百貨店')
39
+ ```
40
+ としたら
41
+
42
+ ``` ^
43
+ SyntaxError: unexpected EOF while parsing
44
+ ```
45
+
46
+ というのが出て、
47
+ やはり構文がおかしいようですが、
48
+ 解決方法がわかりません。
49
+
32
50
  ifで絞るのは合っていると思うのですが、
33
51
  そもそもpopメソッドで合っているのか、
34
52
  df('アウトレット')の書き方が間違っているのではなど、

3

加筆修正

2019/07/23 00:58

投稿

Pablito
Pablito

スコア71

title CHANGED
File without changes
body CHANGED
@@ -3,6 +3,10 @@
3
3
  ある購買データを用いて
4
4
  特定のターゲットに絞ったリストを
5
5
  作成したいと考えています。
6
+
7
+ 具体的にはある特定の値(アウトレット)を残し、
8
+ 他は削除したいと考えています。
9
+
6
10
  そこでIDごとに最初の購入店舗が
7
11
  特定のチャネルだったユーザーに絞りたいのですが、
8
12
  ロジックの問題か、文法の問題かでうまく書けません。

2

初心者マーク

2019/07/23 00:50

投稿

Pablito
Pablito

スコア71

title CHANGED
File without changes
body CHANGED
@@ -25,6 +25,7 @@
25
25
  因みにChannelがkeyで、
26
26
  アウトレットやECが中の値です。
27
27
 
28
+ ifで絞るのは合っていると思うのですが、
28
29
  そもそもpopメソッドで合っているのか、
29
30
  df('アウトレット')の書き方が間違っているのではなど、
30
31
  今も試行錯誤していますが、

1

加筆修正

2019/07/23 00:40

投稿

Pablito
Pablito

スコア71

title CHANGED
File without changes
body CHANGED
@@ -22,6 +22,9 @@
22
22
  df.pop('EC')
23
23
  ```
24
24
 
25
+ 因みにChannelがkeyで、
26
+ アウトレットやECが中の値です。
27
+
25
28
  そもそもpopメソッドで合っているのか、
26
29
  df('アウトレット')の書き方が間違っているのではなど、
27
30
  今も試行錯誤していますが、