これがpandasのDataFrameなら以下で可能です。
python
1>>> import pandas as pd
2>>>
3>>> df = pd.DataFrame({'name':['apple', 'banan', 'oragne'], 'price': ['$5', '$6', '$10']})
4>>> print(df)
5 name price
60 apple $5
71 banana $6
82 orange $10
9>>> df['price'] = df['price'].apply(lambda x: int(x.strip('$')))
10>>> print(df)
11 name price
120 apple 5
131 banana 6
142 orange 10
pandasではなくnumpyのndarrayを直接使っているようですので、ndarray版を追加します。
普通にndarrayを作ると、dtypeが'<U6'となり、整数を代入しようとしても文字列の変換されてしまいます。これを避けるためには作成時にdtypeとして'object'を指定するなどの方法をとる必要があります。
名前が縦方向の場合
python
1>>> import numpy as np
2>>>
3>>> fruit = np.array([['apple', '$5'], ['banana', '$6'], ['orange', '$10']])
4>>> print(fruit)
5[['apple' '$5']
6 ['banana' '$6']
7 ['orange' '$10']]
8>>> fruit = np.array([[x[0], int(x[1].strip('$'))] for x in fruit], dtype='object')
9>>> print(fruit)
10[['apple' 5]
11 ['banana' 6]
12 ['orange' 10]]
名前が横方向の場合
python
1>>> import numpy as np
2>>>
3>>> fruit = np.array([['apple', 'banana', 'orange'], ['$5', '$6', '$10']])
4>>> print(fruit)
5[['apple' 'banana' 'orange']
6 ['$5' '$6' '$10']]
7>>> fruit = np.array([fruit[0], [int(x.strip('$')) for x in fruit[1]]], dtype = 'object')
8>>> print(fruit)
9[['apple' 'banana' 'orange']
10 [5 6 10]]
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/25 01:57
2020/12/25 06:52