前提・実現したいこと
リストの中の要素数が異なっており、
最終的には5要素に該当するカラムを作成したい、かつ、該当する要素がないインデックスの場合はブランクにしたいのですが、どのように対処すればよいでしょうか?
※lamdaを使ってますがlamdaを使うことにこだわってません
該当のソースコード
Python
1import pandas as pd 2df=pd.DataFrame() 3df['data']=[ 4 '太郎\n男\n20代\n東京都\n90点', 5 '花子\n女\n30代\n大阪府\n80点', 6 '和希\n男\n50代\n北海道', 7 '綾香\n女\n40代' 8 ] 9 10# %% 11df['name']=df['data'].apply(lambda x:x.split('\n')[0]) 12df['gender']=df['data'].apply(lambda x:x.split('\n')[1]) 13df['age']=df['data'].apply(lambda x:x.split('\n')[2]) 14df['prefecture']=df['data'].apply(lambda x:x.split('\n')[3]) 15df['score']=df['data'].apply(lambda x:x.split('\n')[4] if x.find('\n')>=4 else 0) 16df 17 18 19 20Traceback (most recent call last) 21----> df['prefecture']=df['data'].apply(lambda x:x.split('\n')[3]) 22IndexError: list index out of range
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/04 08:22