我对熊猫中的数据类型“object”有点困惑。什么是“对象”?
我想把变量“SpT”(见下文)从object改为String。> df_cleaned.dtypes
Vmag float64
RA float64
DE float64
Plx float64
pmRA float64
pmDE float64
B-V float64
SpT object
M_V float64
distance float64
dtype: object
为此,我执行以下操作:df_cleaned['SpT'] = df_cleaned['SpT'].astype(str)
但这对SpT的数据类型没有影响。
这样做的原因是当我做以下事情时:f = lambda s: (len(s) >= 2) and (s[0].isalpha()) and (s[1].isdigit())
i = df_cleaned['SpT'].apply(f)
df_cleaned = df_cleaned[i]
我得到:TypeError: object of type 'float' has no len()
因此,我相信如果我把“object”转换成“String”,我就能做我想做的事情。
更多信息:这就是SpT的样子:HIP
1 F5
2 K3V
3 B9
4 F0V
5 G8III
6 M0V:
7 G0
8 M6e-M8.5e Tc
9 G5
10 F6V
11 A2
12 K4III
13 K0III
14 K0
15 K2
...
118307 M2III:
118308 K:
118309 A2
118310 K5
118312 G5
118313 F0
118314 K0
118315 K0III
118316 F2
118317 F8
118318 K2
118319 G2V
118320 K0
118321 G5V
118322 B9IV
Name: SpT, Length: 114472, dtype: object