如图,excel读取进来后发现high和weight这两列数据并不是数字类型而是字符串类型,如何把他们转换为数值并筛选出体重小于70的人,并把这些人从最轻到最重升序排列后导出一个新的excel。
import pandas as pd
# 读取表格
df = pd.read_excel("old.xlsx")
# 强制转换high和weight两列为浮点类型
df[['high','weight']] = df[['high','weight']].astype('float')
# 打印一下看看数据类型是否正确,应为float64
print(df.info())
# 筛选出体重小于70的数据
df = df[df['weight'] < 70.0]
# 将这些数据升序排列
df = df.sort_values(by='weight', ascending=True)
# 最后导出为新的表格
df.to_excel('new.xlsx', encoding='utf8')
那怎么把整列都转换呢
追答只能是逐个转换,如果你取出的数据是保存在数组的,就对数组每个元素进行转换