お世話になっております。
おそらくかなり基本的なミスだと思うのですが、KaggleのTaitanicのデータセットでCabinのカラムに対して、先頭のアルファベットのみ取得しようと関数を作りapplyしましたが
python
1def cabin_class(name): 2 name=name.split()[0] 3 if name=='NaN': 4 return 'NaN' 5 else: 6 L=[] 7 for char in name: 8 L.append(char) 9 return (L[0])
4 else:
5 L=[]
----> 6 for char in name:
7 L.append(char)
8 return (L[0])
TypeError: 'float' object is not iterable
のエラーが出ました。Cabinの列はNaN又はC85などのキャビン名なのでnameがNaNの場合はelseに入らないと思うのですが、何か勘違いでしょうか?
ちなみにCabinカラムは以下のようです。
0 NaN
1 C85
2 NaN
3 C123
4 NaN
5 NaN
6 E46
7 NaN
8 NaN
9 NaN
10 G6
11 C103
12 NaN
13 NaN
14 NaN
15 NaN
16 NaN
17 NaN
18 NaN
19 NaN
20 NaN
21 D56
22 NaN
23 A6
24 NaN
25 NaN
26 NaN
27 C23 C25 C27
28 NaN
29 NaN
...
861 NaN
862 D17
863 NaN
864 NaN
865 NaN
866 NaN
867 A24
868 NaN
869 NaN
870 NaN
871 D35
872 B51 B53 B55
873 NaN
874 NaN
875 NaN
876 NaN
877 NaN
878 NaN
879 C50
880 NaN
881 NaN
882 NaN
883 NaN
884 NaN
885 NaN
886 NaN
887 B42
888 NaN
889 C148
890 NaN
Name: Cabin, Length: 891, dtype: object
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/30 08:07
2018/06/30 08:26