質問編集履歴

7

コードの修正

2022/01/22 08:35

投稿

dub
dub

スコア23

test CHANGED
File without changes
test CHANGED
@@ -7,7 +7,7 @@
7
7
  df = pd.DataFrame({
8
8
  'code': ['item1','item2','item3','item4','item5','item6'],
9
9
  'on_off': [1,1,1,1,1,1],
10
- 'stock': [1,1,1,1,1,1]
10
+ 'stock': [1,1,1,1,1,1],
11
11
  'detail': ['文字列','文字列','文字列','文字列','文字列','文字列']
12
12
  })
13
13
  print(df)

6

CSVの列数が異なる事を補足

2022/01/22 07:05

投稿

dub
dub

スコア23

test CHANGED
File without changes
test CHANGED
@@ -11,6 +11,7 @@
11
11
  'detail': ['文字列','文字列','文字列','文字列','文字列','文字列']
12
12
  })
13
13
  print(df)
14
+ (実際は10列だが単純化して4列。重要なのはもう1つのCSVとは列数が異なる)
14
15
  # code on_off stock detail
15
16
  #0 item1 1 1 文字列
16
17
  #1 item2 1 1  文字列

5

find関数かな・・

2022/01/22 07:03

投稿

dub
dub

スコア23

test CHANGED
File without changes
test CHANGED
@@ -59,6 +59,8 @@
59
59
 
60
60
  方向性でも教えていただけますと幸いです
61
61
 
62
+ 追記 pandas find関数ですかね・・・もう一回自分でも考えてます・・
63
+ https://qiita.com/haru1977/items/2892480d31c296f2ec8e
62
64
 
63
65
 
64
66
 

4

求める結果部分も 変更しました

2022/01/22 06:59

投稿

dub
dub

スコア23

test CHANGED
File without changes
test CHANGED
@@ -34,17 +34,18 @@
34
34
  在庫csvの特定の列の値 df_stock['stock']を 元の全体CSVのdf['stock']列に商品コードをkeyにして
35
35
  商品コードで合致した列の値を変更したいと思っています
36
36
 
37
- 求める結果
37
+ 求める結果 元帳CSV(df) ※の部分を在庫CSVの値に変更したい
38
- # code on_off stock
38
+ # code on_off stock detail
39
- #0 item1 1 1
39
+ #0 item1 1 1 文字列
40
- #1 item2 1 4
40
+ #1 item2 1 4  文字列
41
- #2 item3 1 10
41
+ #2 item3 1 10  文字列
42
- #3 item4 1 1
42
+ #3 item4 1 1   文字列
43
- #4 item5 1 1
43
+ #4 item5 1 1   文字列
44
- #5 item6 1 8
44
+ #5 item6 1 8   文字列
45
+
45
46
 
46
47
  #item7のように 元帳に存在しないコードが 在庫CSVに存在する場合は
47
- 「item7は元帳に存在しない旨 エラーを表示したい
48
+ ※i「item7は元帳に存在しない旨 エラーを表示したい
48
49
  ```
49
50
 
50
51
  自分でやった事。

3

エラーを修正しました

2022/01/22 06:51

投稿

dub
dub

スコア23

test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,5 @@
1
1
  2つのcsvファイル。
2
- 1つは商品台帳(全体)のCSV。もう1つのCSVファイルは在庫数が更新された商品のみ一部)のCSVファイルがあります。
2
+ 1つは商品台帳(全体)の10列のCSV。もう1つのCSVファイルは在庫数(3列)のCSVファイルがあります。
3
3
 
4
4
  やりたいことは、在庫数のCSVファイルの値を、全体のCSVに 商品コードをKeyにして反映したいと思っています。
5
5
  ```python3
@@ -23,7 +23,7 @@
23
23
  'code': ['item2','item5','item3'],
24
24
  'on_off': [1,0,1],
25
25
  'stock': [4,8,19]})
26
- print(pridf_stock)
26
+ print(df_stock)
27
27
 
28
28
  # code on_off stock
29
29
  #0 item2 1 4

2

実際は、元帳であるCSV(df)は 10列くらいあり、在庫数CSV(df_stock)は3列のCSVです

2022/01/22 06:46

投稿

dub
dub

スコア23

test CHANGED
File without changes
test CHANGED
@@ -8,15 +8,16 @@
8
8
  'code': ['item1','item2','item3','item4','item5','item6'],
9
9
  'on_off': [1,1,1,1,1,1],
10
10
  'stock': [1,1,1,1,1,1]
11
+ 'detail': ['文字列','文字列','文字列','文字列','文字列','文字列']
11
12
  })
12
13
  print(df)
13
- # code on_off stock
14
+ # code on_off stock detail
14
- #0 item1 1 1
15
+ #0 item1 1 1 文字列
15
- #1 item2 1 1
16
+ #1 item2 1 1  文字列
16
- #2 item3 1 1
17
+ #2 item3 1 1  文字列
17
- #3 item4 1 1
18
+ #3 item4 1 1  文字列
18
- #4 item5 1 1
19
+ #4 item5 1 1  文字列
19
- #5 item6 1 1
20
+ #5 item6 1 1  文字列
20
21
 
21
22
  df_stock=pd.DataFrame({
22
23
  'code': ['item2','item5','item3'],

1

レンダリングを修正しましあt

2022/01/22 05:44

投稿

dub
dub

スコア23

test CHANGED
File without changes
test CHANGED
@@ -2,8 +2,7 @@
2
2
  1つは商品台帳(全体)のCSV。もう1つのCSVファイルは在庫数が更新された商品のみ(一部)のCSVファイルがあります。
3
3
 
4
4
  やりたいことは、在庫数のCSVファイルの値を、全体のCSVに 商品コードをKeyにして反映したいと思っています。
5
-
6
- ~~```python 3
5
+ ```python3
7
6
  import pandas as pd
8
7
  df = pd.DataFrame({
9
8
  'code': ['item1','item2','item3','item4','item5','item6'],
@@ -45,14 +44,12 @@
45
44
 
46
45
  #item7のように 元帳に存在しないコードが 在庫CSVに存在する場合は
47
46
  「item7は元帳に存在しない旨 エラーを表示したい
48
-
49
- ```~~
47
+ ```
50
-
51
48
 
52
49
  自分でやった事。
53
50
  いろいろ調べて たどり着いたのが、下記ページのwhere関数なのですが・
54
51
  #Pandasで条件に合致した要素の置換を行うwhere関数の使い方
55
- #https://deepage.net/features/pandas-where.html
52
+ https://deepage.net/features/pandas-where.html
56
53
 
57
54
  これが別の列の値・・を変更出来る方法ではないのかよくわからず・・
58
55
 
@@ -62,3 +59,5 @@
62
59
 
63
60
 
64
61
 
62
+
63
+