我有一个Pandas Dataframe,并且有一个float类型的列。但是带小数的数字对这一列没有意义。所以我想找出这一列中有多少个浮点数,然后我想删除这一列中有浮点数的整行。另一种方法是计算整数的数量,并将其从总行数中减去。
示例数据集
What I have:
可以使用模数运算符删除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)
整数和浮点数是两种不同的数值数据。整数(通常称为int)是没有小数点的数字。浮点数是一种浮点数,这意味着它是一个有小数点的数字。当需要更高的精度时,使用浮点数。所以在这种情况下,你用浮点数来表示整型你不需要整型
根据我的理解,您可以尝试在mod为0的行中使用mod和过滤器:
df[df['C'].mod(1).eq(0)]
A B C
0 0.5 0.1 2.0
2 0.6 0.2 1.0
您可以编写一个函数,其中您传递.is_integer() == True
的条件将返回数字,在else条件下您可以将其输出为numpy.nan
,稍后使用.dropna
函数删除所有nan单位。