我有一个称为df的数据框.它具有称为“规范类型”的列.使用大熊猫
df['Spec Type']
0 NaN
1 A1
2 G7V
3 F7+K4
. .
. .
169 A0e
我只想为每个条目获取第一个字符,并将其作为df的新列称为“规范类型索引”.但是,以下代码给我一个错误:
df['Spec Type Index'] = [i[0] for i in df['Spec Type']]
‘float’ object is not subscriptable
错误在i [0]部分中.我用它来获取索引元素的第一个字符.我该怎么办?
解决方法:
df.loc[df['Spec Type'].notnull(), 'Spec Type Index'] = df['Spec Type'].str[0]
应该可以工作,问题是NaN是float dtype,所以您不能使用str方法,像上面这样的屏蔽避免了
In [48]:
df.loc[df['Spec Type'].notnull(), 'Spec Type Index'] = df['Spec Type'].str[0]
df
Out[48]:
Spec Type Spec Type Index
index
0 NaN NaN
1 A1 A
2 G7V G
3 F7+K4 F