前提・実現したいこと
Pythonを使用しています。
- 実現したい内容 …
「 sample['way']の内容を全て1文字だけにし、sample['way_']に移したいです。apply()を4つ試したのですが、1番最後しか適用されなかったです。」
実行したコードとその結果
実行したコード
このようなコードを実行しました。
python
1In[]: 2import pandas as pd 3sample = pd.DataFrame({'way':['up', 'down', 'left', 'right', 'up', 'right', 'left']}) 4 5sample['way_'] = sample['way'][sample['way']=='up'].apply(lambda x:'u' if x=='up' else 0) 6sample['way_'] = sample['way'][sample['way']=='down'].apply(lambda x:'d' if x=='down' else 0) 7sample['way_'] = sample['way'][sample['way']=='left'].apply(lambda x:'l' if x=='left' else 0) 8sample['way_'] = sample['way'][sample['way']=='right'].apply(lambda x:'r' if x=='right' else 0) 9 10sample
実行した結果
上記のコードを実行した結果、
以下のようになりました。
python
1Out[]: 2 way way_ 30 up NaN 41 down NaN 52 left NaN 63 right r 74 up NaN 85 right r 96 left NaN
本来得たい結果
望んでいた実行結果は以下の通りです。
python
1Out[]: 2 way way_ 30 up u 41 down d 52 left l 63 right r 74 up u 85 right r 96 left l
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。