繁体   English   中英

如何检查 dataframe 列中的 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.lennunique的一种方法。

前任:

print(df['Prefix'].astype(str).str.len().nunique() == 1) #--> True

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM