代码之家  ›  专栏  ›  技术社区  ›  searain

python是强类型语言,dtype=float当create dataframe将应用于值时只有float才有意义?

  •  1
  • searain  · 技术社区  · 6 年前
    import pandas as pd
    data = [['Alex',10],['Bob',12],['Clarke',13]]
    df = pd.DataFrame(data,columns=['Name','Age'],dtype=float)
    print df
    

    创建dataframe时,我们将数据类型定义为float,但不指定要更改为float的列。我们让python根据值来决定是否有必要更改列数据类型。

    只是想知道,在这个实践中,这仍然是严格的强类型吗?

    谢谢!

    1 回复  |  直到 6 年前
        1
  •  3
  •   melihozbek    6 年前

    python是一种强动态类型语言(请参见 Is Python strongly typed? )中。

    如果你通过了 dtype=float 在构造 pd.DataFrame 我是说, Pandas 将尝试强制所有列浮动。在您的情况下,不能强制'name'列浮动,因此它将保持为 object (你可以认为这是 str 纯巨蟒)。

    一般来说,你可以离开 dtype 空白的 熊猫 推断数据类型 DataFrames .然后做一个 df.info() 看看数据类型对你是否有意义。你不批准的,你可以这样修改:

    df['Age'] = df['Age'].astype(int)