为什么数据框的列数据类型没有改变

11 浏览
0 Comments

为什么数据框的列数据类型没有改变

这个问题已经有答案了

如何在Pandas中更改列的数据类型

我编写了一个小代码来测试如何在Python(版本3.8.5)中更改DataFrame的一列数据类型(在Jupyter Notebook中运行该代码)。但是它没有更改数据类型。有什么想法,我做错了什么吗?

import pandas as pd
data = {'Name':['Tom', 'nick', 'krish', 'jack'],
        'Age':['20+', '21.5', '19+', '18.6']}
df = pd.DataFrame(data)
df["Age_Corrected"] = df["Age"].str.replace("+","")
df
df["Age_Corrected"].astype("float")
df.info()

但是我没有得到Age_Corrected作为float的结果。它仍然显示为object类型。我从df.info()中得到的结果如下所示。

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 3 columns):
 #   Column         Non-Null Count  Dtype 
---  ------         --------------  ----- 
 0   Name           4 non-null      object
 1   Age            4 non-null      object
 2   Age_Corrected  4 non-null      object
dtypes: object(3)
memory usage: 112.0+ bytes

admin 更改状态以发布 2023年5月20日
0
0 Comments

它并不会改变,因为你没有重新影响该列。尝试这个

df["Age_Corrected"] = df["Age_Corrected"].astype("float")

0
0 Comments

你需要做的是

df["Age_Corrected"] = df["Age_Corrected"].astype("float")

0