df = pd.read_csv('alimenti.csv', delimiter=';')
df.apply(pd.to_numeric, errors='ignore')
print(df.dtypes)
我想更改数字中所有列的值,但apply函数('to numeric')在dataframe上不起作用。下面是打印类型的输出。除了前两列(descripione、famiglia),其余所有值都应该是浮点值(或最终是整数)
descrizione object
famiglia object
parte edibile int64
acqua object
proteine object
lipidi object
carboidrati object
amido object
zuccheri solubili object
fibra alimentare object
energia kcal int64
sodio int64
potassio int64
ferro object
calcio int64
fosforo int64
tiamina object
riboflavina object
niacina object
vitamina a object
vitamina c int64
vitamina e object
quantita int64
dtype: object
如图所示,您可以使用以下命令更改列数据类型:
其中
col1
和col2
是要更改类型的列的列名另外,我最近在处理来自旧.xls文件的数据集时遇到了类似的问题。问题是缺少数据和损坏的值,这使得
pd.read_excel
将整个列的列检索为dtype = object
,而不是所需的浮点相关问题 更多 >
编程相关推荐