質問編集履歴

4

エラーメッセージの詳細を書きました。

2023/01/25 07:19

投稿

onosan
onosan

スコア59

test CHANGED
File without changes
test CHANGED
@@ -37,7 +37,7 @@
37
37
  291 raise ValueError(
38
38
  --> 292 f"Length of passed values is {len(data)}, "
39
39
  293 f"index implies {len(index)}."
40
- ValueError: Length of passed values is 3964680, index implies .
40
+ ValueError: Length of passed values is 3964680, index implies 3.
41
41
  ```
42
42
  というエラーがでます。
43
43
  valueが数値でないため、pivot_tableが使えないと思ったのですが、何が間違っているか、分からず、お知恵を拝借できればと思いました。

3

エラーメッセージをより詳細に書きました。

2023/01/25 07:18

投稿

onosan
onosan

スコア59

test CHANGED
File without changes
test CHANGED
@@ -19,6 +19,24 @@
19
19
  ### 発生している問題・エラーメッセージ
20
20
 
21
21
  ```
22
+ ValueError Traceback (most recent call last)
23
+ <ipython-input-49-9b47980d8760> in <module>()
24
+ 1 df2_p=pd.pivot(df2_long, index=['データ種別','DCF施設コード','施設名称'],
25
+ 2 columns=['製品','年月'],
26
+ ----> 3 values="値")
27
+
28
+ C:\Anaconda3\lib\site-packages\pandas\core\reshape\pivot.py in pivot(data, index, columns, values)
29
+ 447 )
30
+ 448 else:
31
+ --> 449 indexed = data._constructor_sliced(data[values].values, index=index)
32
+ 450 return indexed.unstack(columns)
33
+ 451
34
+
35
+ C:\Anaconda3\lib\site-packages\pandas\core\series.py in __init__(self, data, index, dtype, name, copy, fastpath)
36
+ 290 if len(index) != len(data):
37
+ 291 raise ValueError(
38
+ --> 292 f"Length of passed values is {len(data)}, "
39
+ 293 f"index implies {len(index)}."
22
40
  ValueError: Length of passed values is 3964680, index implies 2.
23
41
  ```
24
42
  というエラーがでます。

2

DCFコードに不具合があったので修正しました。

2023/01/25 07:07

投稿

onosan
onosan

スコア59

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
  実際のデータは300万行以上あるのですが、データとしては以下のような形です。(やや簡単化して最初の5行を書きます。)
3
3
  |データ種別|DCF施設コード|施設名称|製品|年月|値|
4
4
  |:--|:--:|--:|--:|--:|--:|
5
- |SOM CR|0110100102|北海道循環器病院|市場ポテンシャル区分(9月より累計)|推定年月1209|J|
5
+ |SOM CR|01103811|北海道循環器病院|市場ポテンシャル区分(9月より累計)|推定年月1209|J|
6
6
  |SOM CR |01103811 |北海道循環器病院|市場ポテンシャル区分(3Week)|推定年月1209|K|
7
7
  |SOM CR |01103811 |北海道循環器病院|製品Aシェアレンジ(9月より累計)|推定年月1209|0|
8
8
  |SOM CR |01103811 |北海道循環器病院|製品Aシェアレンジ(3Week)|推定感謝1209|0|

1

DCFコードが一致していなかったので直しました。

2023/01/25 07:07

投稿

onosan
onosan

スコア59

test CHANGED
File without changes
test CHANGED
@@ -3,10 +3,10 @@
3
3
  |データ種別|DCF施設コード|施設名称|製品|年月|値|
4
4
  |:--|:--:|--:|--:|--:|--:|
5
5
  |SOM CR|0110100102|北海道循環器病院|市場ポテンシャル区分(9月より累計)|推定年月1209|J|
6
- |SOM CR |1103811 |北海道循環器病院|市場ポテンシャル区分(3Week)|推定年月1209|K|
6
+ |SOM CR |01103811 |北海道循環器病院|市場ポテンシャル区分(3Week)|推定年月1209|K|
7
- |SOM CR |1103811 |北海道循環器病院|製品Aシェアレンジ(9月より累計)|推定年月1209|0|
7
+ |SOM CR |01103811 |北海道循環器病院|製品Aシェアレンジ(9月より累計)|推定年月1209|0|
8
- |SOM CR |1103811 |北海道循環器病院|製品Aシェアレンジ(3Week)|推定感謝1209|0|
8
+ |SOM CR |01103811 |北海道循環器病院|製品Aシェアレンジ(3Week)|推定感謝1209|0|
9
- |SOM CR|1103811 |北海道循環器病院|主要製品切替フラグ|推定感謝1209|0|
9
+ |SOM CR|01103811 |北海道循環器病院|主要製品切替フラグ|推定感謝1209|0|
10
10
 
11
11
  ここでpivotをしようとしたのですが、valueの値が数値ではないため、pivot_tableではなく、pivotを使いました。このdataframeをdf2_longとしました。
12
12