回答編集履歴

1

2024/12/24 14:30

投稿

melian
melian

スコア20721

test CHANGED
@@ -1,10 +1,11 @@
1
- `pandas.Series.str` アクセサで「品名」の8文字目を抽出して、`pandas.Series.map()` メソッドで「奥行」に変換するとよいかと思います。
1
+ `pandas.Series.str` アクセサで「品名」の8文字目を抽出して、`pandas.Series.map()` メソッドで「奥行」に変換するとよいかと思います。(`T_d` に該当する区分がない場合は書き換えを行いません)
2
2
  ```python
3
3
  T_d = {"E":970,"D":970,"K":650,"L":650,"P":600,"Q":600,"R":650,"S":650,"T":750,"U":750}
4
- df['奥行'] = df['品名'].str[7].map(T_d)
4
+ depth = df['品名'].str[7].map(T_d)
5
+ df.loc[depth.notna(), '奥行'] = depth
5
6
  print(df)
6
7
 
7
- # 品名 区分 奥行
8
+ # 品名 区分 奥行
8
9
  # 0 AAAA200QCCCC1 Q 600
9
10
  # 1 AAAA250EBBBB1 E 970
10
11
  # 2 AAAA150DAAAA1 D 970