質問編集履歴
7
コードの修正
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の列数が異なる事を補足
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関数かな・・
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
求める結果部分も 変更しました
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
エラーを修正しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
2つのcsvファイル。
|
2
|
-
1つは商品台帳(全体)のCSV。もう1つの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(
|
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です
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
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
|
-
|
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
|
-
|
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
|
+
|