Python 修改df中,某一列的数据类型,修改保留小数位数
1. 修改某一列数据类型
# 将df中的 A 列 转换成 float64 类型
df = df.astype({'A':'float64'})
2. 修改多列数据类型
# 将df中的 A 列 转换成 float64 类型
df = df.astype({
'A':'float64',
'A':'int',
})
3. 可执行代码
import pandas as pd
import numpy as np
df = pd.DataFrame({
'A':range(0,5,1), # 生成5个0-4序列整数
'B':np.random.uniform(1.0, 10.0, 5) # 生成5个1-10之间随机小数
})
# 将df中的A列转换成float64类型,B列转成int类型
df = df.astype({
'A':'float64',
'A':'int',
})
df
4. 某一列保留2位小数
import pandas as pd
import numpy as np
df = pd.DataFrame({
'A':range(0,5,1), # 生成5个0-4序列整数
'B':np.random.uniform(1.0, 10.0, 5) # 生成5个1-10之间随机小数
})
df
df = df.assign(B=lambda df: round(df.B,2))
df
5. 多列保留2,3位小数
import pandas as pd
import numpy as np
df = pd.DataFrame({
'A':range(0,5,1), # 生成5个0-4序列整数
'B':np.random.uniform(1.0, 10.0, 5), # 生成5个1-10之间随机小数
'C':np.random.uniform(1.0, 10.0, 5) # 生成5个1-10之间随机小数
})
df
df = df.assign(
B=lambda df: round(df.B,2),
C=lambda df: round(df.C,3),
)
df
6. 新增一列
import pandas as pd
import numpy as np
df = pd.DataFrame({
'A':range(0,5,1), # 生成5个0-4序列整数
'B':np.random.uniform(1.0, 10.0, 5), # 生成5个1-10之间随机小数
'C':np.random.uniform(1.0, 10.0, 5) # 生成5个1-10之间随机小数
})
df
df = df.assign(
D=lambda df: round(df.C,2),
)
df