目录
方法一:把所有列(或部分列)都转为 float格式
traindata = pd.DataFrame(traindata, dtype=np.float)
collist = data.columns.tolist()
data[collist[1:]] = pd.DataFrame(data[collist[1:]], dtype=np.float)
转换某一列
df["gdp"] = pd.to_numeric(df["gdp"],errors='coerce')
df.dtypes
name object
year object
gdp float64
dtype: object
np.array格式转换为float
arr = np.array([1, 2, 3, 4, 5]) # 创建一个 默认 int32 类型的数组
float_arr = arr.astype(np.float64) # 将这个数组转化为 float64 位的数组
print(float_arr.dtype) # 打印这个数组的类型,出结果float64
方式三:修改部分列
import pandas as pd
data = pd.DataFrame([[1, "2"], [2, "2"]], columns = ["one", "two"])
print(data)
# 当前类型
print("----\n修改前类型:")
print(data.dtypes)
# 类型转换
data[["two"]] = data[["two"]].astype(int)
# 修改后类型
print("----\n修改后类型")
print(data.dtypes)
输出:
one two
0 1 2
1 2 2
----------------
修改前类型:
one int64
two object
dtype: object
----------------
修改后类型
one int64
two int32
dtype: object