我對熊貓中的數據類型「對象」有點困惑。什麼是「對象」?在大熊貓中將浮點數轉換爲字符串
我想將變量「SpT」(見下文)從對象更改爲字符串。
> 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的D型細胞沒有影響。
這樣做的原因是,當我做到以下幾點:
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()
因此,我相信,如果我轉換「對象」到「串」,我會得到做我想做的事。
更多信息:這是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
'dtype'是非整數類型的一般numpy dtype,這表明您的列已經是一個字符串,當然是在轉換後,所以問題在於您的功能 – EdChum
不能,該功能是正確的。下面的答案幫助了我。不過謝謝! – Rohit
@aging_gorrila您使用的是什麼版本的熊貓? –