首页 > 解决方案 > 如何计算 Pandas 数据框列中的浮点数或整数数?

问题描述

我有一个 Pandas 数据框,并且有一列是浮点类型的。但是带有小数的数字对于此列没有意义。所以我想知道这个列中有多少个浮点数,然后我想删除我在这个列中有一个浮点数的整行。另一种方法是计算整数的数量,然后从总行数中减去它。

示例数据集

是)我有的:

一种 C
0.5 0.1 2.0
0.8 0.9 3.5
0.6 0.2 1.0

我需要的:

第一个计数浮点数或整数:

C 1(因为“C”列中只有一个浮点数或)或者:C 2(因为“C”列中有两个整数)

第二次删除带有浮点数的行:

一种 C
0.5 0.1 2.0
0.6 0.2 1.0

我尝试以与处理缺失值相同的方式处理此问题,但这不起作用。

# Count Integers
print(Data.is_integer().sum())
# Delete rows where "C" is not an integer
Data=Data.drop(Data[Data.C.is_integer()=0].index)

两者都不起作用。顺便说一句,我在 Colab 中使用 Python

标签: pythonpandasgoogle-colaboratorydata-cleaning

解决方案


您可以使用取模运算符删除 C 列中包含带小数部分的数字的任何行。

您可能还想将列“C”转换为整数。

import pandas as pd 

df = pd.DataFrame({'A':[0.5,0.8,0.6], 'B':[0.1, 0.9, 0.2], 'C':[2.0, 3.5, 1.0]})

df = df[df['C'] % 1 == 0]

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

推荐阅读