実現したいこと
Pythonで以下のようなcsvを読み込み、[名称]の列について名称に「会社」、「デパート」という文字が含まれていれば、そのセルを「オフィス」に置き換えたいです。
名称 | 項目A | 項目B |
---|---|---|
A会社 | 100 | 1213 |
B会社 B支社 | 133 | 1254 |
病院C | 1 | 13 |
D株式会社 | 1230 | 121233 |
デパート | 10 | 12423 |
発生している問題・分からないこと
replace関数やstrip関数を使って試行錯誤しているのですが、
セル全体を書き替えることができません。例えば以下のようになってしまいます。
名称 | 項目A | 項目B |
---|---|---|
Aオフィス | 100 | 1213 |
Bオフィス B支社 | 133 | 1254 |
病院C | 1 | 13 |
D株式オフィス | 1230 | 121233 |
オフィス | 10 | 12423 |
該当のソースコード
python
1df = pd.read_csv('C:/Users/yujir/workspace/homeapp/enavi202405(6186).csv',encoding="utf-8") 2#データ成形 3##空白削除 4df= df.dropna() 5 6#文字列置換 7name_replace = { 8 "会社":"食費", 9 "デパート":"オフィス" 10} 11df['名称'] = df["名称"].replace(name_replace,regex=True) 12df.to_csv('output.csv',index=None,encoding="cp932")
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
特定の文字列の前後を削除する や 特定の文字を置換することはできるのですが、
セル全体を上書きするやりかたが見つかりませんでした。
補足
特になし
![guest](/img/icon/icnUserSample.jpg)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。