[英]How do you display values in a pandas dataframe column with 2 decimal places?
[英]How to find how many decimal places there are in a column using a pandas dataframe
我有一个大的 dataframe 包含一个小数位数不同的列。 我想在我的示例中创建类似 Decimal Places 的东西。 本专栏的目标是计算
df
ColA ColB DecimalPlaces
A .03 2
B .003 3
C 10.01 2
D 11.1 1
我在下面试过,但我无法让它适用于 dataframe 上的整个专栏
d = decimal.Decimal('56.43256436')
d.as_tuple().exponent
这是一种方法
以十进制拆分数字,然后取其长度
df['decimals']=df['ColB'].astype('str').str.split('.', expand=True)[1].apply(lambda x: len(x))
df
ColA ColB DecimalPlaces decimals
0 A 0.030 2 2
1 B 0.003 3 3
2 C 10.010 2 2
3 D 11.100 1 1
我和这里的 Naveed 基本相同,但是,嗯,略有不同:
df['decimals'] = df['ColB'].map(lambda x: str(x).split('.')[1]).apply(len)
不知道什么更快/更有效。
你可以做:
df['ColB'].astype(str).str.extract(r'\.(.*)', expand=False).str.len()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.