Pandas DataFrame-এ এক বা একাধিক কলামের ডেটা টাইপ পরিবর্তন করার জন্য বেশ কিছু বিল্ট-ইন মেথড রয়েছে।
১. astype() – কোনো টাইপে জোরপূর্বক কনভার্ট
import pandas as pd
df = pd.DataFrame({
'DayNo': [1, 2, 3, 4, 5, 6, 7],
'Name': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
'Qty': [2.6, 5, 11.8, 2, 5.6, 0, 0.25]
})
print(df.dtypes)
df_str = df.astype(str)
print("After Conversion:")
print(df_str.dtypes)
আউটপুট
DayNo int64 Name object Qty float64 dtype: object ***After Conversion*** DayNo object Name object Qty object dtype: object
২. pd.to_numeric() – স্ট্রিং থেকে নামারিক
df_str = df.astype(str)
df_num = pd.to_numeric(df_str.DayNo)
print('DayNo:', df_num.dtypes) # int64
৩. infer_objects() – সফট কনভার্সন (object → স্পেসিফিক টাইপ)
df = pd.DataFrame({
'DayNo': [1, 2, 3, 4, 5, 6, 7],
'Qty': ['2.6', '5', '11.8', '2', '5.6', '0', '0.25']
}, dtype='object')
print(df.dtypes)
df_new = df.infer_objects()
print(df_new.dtypes)
আউটপুট
DayNo object Qty object dtype: object After Conversion: DayNo int64 Qty object dtype: object
`infer_objects()` শুধু `object` ডেটা টাইপের কলামগুলোতে কাজ করে এবং যেসব কনভার্ট করা সম্ভব (যেমন ইন্টিজার স্ট্রিং → int) তেসবই কনভার্ট করে।