neighbor
index | 0 | 1 | 2 | 3 | 4 |
---|---|---|---|---|---|
0 | A中学校(中学校)まで445m | Aストア(スーパー)まで500m | A病院(病院)まで350m | Aパーク(公園)まで600m | A小学校(小学校)まで800m |
1 | B-1ストア(スーパー)まで600m | B-2ストア(スーパー)まで800m | B病院(病院)まで400m | B中学校(中学校)まで655m | Bパーク(公園)まで300m |
2 | C-1ストア(スーパー)まで300m | C警察署(警察署)まで600m | C-2ストア(スーパー)まで900m | C病院(病院)まで600m | C中学校(中学校)まで445m |
のようなデータがあります。
これを
category_data
index | スーパー | 公園 | 小学校 | 中学校 | 警察署 | 病院 |
---|---|---|---|---|---|---|
0 | 500 | 600 | 800 | 445 | NaN | 350 |
0 | 600 | 300 | NaN | 655 | NaN | 400 |
0 | 300 | NaN | NaN | 445 | 600 | 600 |
のようなカテゴリーに分けて距離(m)を整理したいです。カテゴリーがダブっている場合は最小値を採用します。
大きな流れとして、各カテゴリーごとに最小値をもとめcategory_dataに代入していきたいと思い、まずスーパーの値を求めるために各列がスーパーに該当するか?もし該当する場合は距離を返すように以下のコードを実行しました
for i in range(5): neighbor[i + 6] = neighbor[i].str.split(pat='まで',expand=True)[1].where(neighbor[i].str.contains('スーパー') == True)
ここから最小値を出すところで止まってしまいました。
neighbor['Super'] = neighbor.iloc[:,6:11].min(axis=1)
を実行すると、すべてNaNになってしまいます。
他にいい方法がないかご教授していただきたいです。よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/03/10 01:56