如何计算 Pandas 数据帧的一列中的浮点数或整数数?
How can I count the number of floats or integers in a column of a Pandas dataframe?
我有一个 Pandas 数据框,其中有一列是浮点型的。但是带小数的数字对此列没有意义。所以我想找出此列中有多少个浮点数,然后我想删除此列中有浮点数的整行。
另一种方法是计算整数的数量,然后从总行数中减去它。
示例数据集
我有:
A
B
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”列中有两个整数)
第二次删除带浮点数的行:
A
B
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)
两者都没有 work.I 在 Colab 中使用 Python 顺便说一句
整数和浮点数是两种不同的数值数据。整数(通常称为 int)是没有小数点的数字。 float 是一个浮点数,这意味着它是一个有小数位的数字。当需要更高的精度时使用浮点数。所以在这种情况下,你整体使用浮点数,你不需要整数
你可以编写一个函数,在其中传递 .is_integer() == True
的条件,这将 return 数字,在其他条件下你可以将其输出为 numpy.nan
,稍后使用 .dropna
函数删除所有 nan 单位。
根据我的理解,您可以尝试使用 mod 并过滤 mod 为 0:
的行
df[df['C'].mod(1).eq(0)]
A B C
0 0.5 0.1 2.0
2 0.6 0.2 1.0
您可以使用取模运算符删除 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)
我有一个 Pandas 数据框,其中有一列是浮点型的。但是带小数的数字对此列没有意义。所以我想找出此列中有多少个浮点数,然后我想删除此列中有浮点数的整行。 另一种方法是计算整数的数量,然后从总行数中减去它。
示例数据集
我有:
A | B | 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”列中有两个整数)
第二次删除带浮点数的行:
A | B | 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)
两者都没有 work.I 在 Colab 中使用 Python 顺便说一句
整数和浮点数是两种不同的数值数据。整数(通常称为 int)是没有小数点的数字。 float 是一个浮点数,这意味着它是一个有小数位的数字。当需要更高的精度时使用浮点数。所以在这种情况下,你整体使用浮点数,你不需要整数
你可以编写一个函数,在其中传递 .is_integer() == True
的条件,这将 return 数字,在其他条件下你可以将其输出为 numpy.nan
,稍后使用 .dropna
函数删除所有 nan 单位。
根据我的理解,您可以尝试使用 mod 并过滤 mod 为 0:
的行df[df['C'].mod(1).eq(0)]
A B C
0 0.5 0.1 2.0
2 0.6 0.2 1.0
您可以使用取模运算符删除 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)