Tôi hơi bối rối với kiểu dữ liệu "đối tượng" trong Pandas. Chính xác "đối tượng" là gì?Chuyển đổi Float thành Chuỗi trong Pandas
Tôi muốn thay đổi biến "SpT" (xem bên dưới) từ đối tượng thành Chuỗi.
> 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
Đối với điều này tôi thực hiện như sau:
df_cleaned['SpT'] = df_cleaned['SpT'].astype(str)
Nhưng điều đó không có hiệu lực thi hành dtype của SPT.
Lý do để làm là khi tôi làm như sau:
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]
tôi nhận được:
TypeError: object of type 'float' has no len()
Do đó, tôi tin rằng nếu tôi chuyển đổi "đối tượng" để "String", tôi sẽ nhận được để làm những gì tôi muốn.
Thông tin thêm: Đây là cách SPT trông giống như:
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' là kiểu gõ chung cho các loại không tách rời, điều này cho thấy cột của bạn đã là một chuỗi và chắc chắn là sau khi chuyển đổi để vấn đề nằm ở hàm – EdChum
Không , chức năng là chính xác. Câu trả lời dưới đây đã giúp tôi. Cảm ơn dù sao đi nữa! – Rohit
@aging_gorrila Bạn đang sử dụng phiên bản gấu trúc nào? –