小编Joh*_*ith的帖子

我怎么知道熊猫数据框单元格的类型

我有一个数据框,例如:

1
1.3
2,5
4
5
Run Code Online (Sandbox Code Playgroud)

使用以下代码,我想知道我的 Pandas 数据帧的不同单元格的类型是什么:

for i in range (len(data.columns)) :
                print (" lenth of  columns : " + str(len(data.columns)) )
                for j in range (len(data[i])) :
                    data[i][j]=re.sub(r'(\d*)\.(\d*)',r'\1,\2',str(data[i][j]))
                    print(str(data[i][j]))

                    print(" est de type : "type(data[i][j]))
                    if str(data[i][j]).isdigit():
                        print(str(data[i][j]) + " contain a number  " )
Run Code Online (Sandbox Code Playgroud)

问题是当数据帧的一个单元格包含一个点时,pandas 认为它​​是一个字符串。所以我使用了正则表达式,以便将点更改为逗号。

但在那之后,我所有数据帧单元格的类型都更改为字符串。我的问题是:我怎么知道数据帧的单元格是 int 还是 float?我已经试过了isinstance(x, int)

编辑:如何计算 int 和 float 的数量,例如 df.apply(type) 的输出,我想知道我的列中有多少个单元格是 int 或 float

我的第二个问题是,为什么当我有 2.5 时,数据框给他 str 类型?

    0       <class 'int'>
1       <class 'str'>
2 …
Run Code Online (Sandbox Code Playgroud)

python excel dataframe pandas

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

dataframe ×1

excel ×1

pandas ×1

python ×1