[英]How to check for each column in a pandas dataframe whether it is a float or can be transformed into an integer
[英]How can I check whether a integer data in dataframe column has same number of digits?
我想检查列数据是否具有相同的位数。
我有以下数据集
District Prefix Quota
A 98426 783
A 98427 223
A 98446 127
A 98626 51
B 98049 167
B 98079 153
B 98140 120
B 98159 139
B 98169 182
B 98249 86
B 98426 588
B 98446 96
C 98049 104
C 98060 68
C 98149 65
C 98150 68
C 98159 86
C 98160 80
C 98169 113
重现代码:
import pandas as pd
df = pd.DataFrame([
['A', 98426, 783],
['A', 98427, 223],
['A', 98446, 127],
['A', 98626, 51],
['B', 98049, 167],
['B', 98079, 153],
['B', 98140, 120],
['B', 98159, 139],
['B', 98169, 182],
['B', 98249, 86],
['B', 98426, 588],
['B', 98446, 96],
['C', 98049, 104],
['C', 98060, 68],
['C', 98149, 65],
['C', 98150, 68],
['C', 98159, 86],
['C', 98160, 80],
['C', 98169, 113]
],
columns=['District', 'Prefix', 'Quota'])
正如您在“前缀”列中看到的,所有数字都是 5 位数字。 但是让我们假设数字不一致,例如第一个数据是 6 位或 4 位。 如何确保 integer 中的所有数字都相同?
我尝试len(str(round(df.Prefix.mean())))
,它将给出位数,但它首先计算平均值并给出该平均值的位数。 但我无法检查一致性
这是使用str.len
和nunique
的一种方法。
前任:
print(df['Prefix'].astype(str).str.len().nunique() == 1) #--> True
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.