如何找到文件中小数位数最多的位置



我想在文件中找到最大的十进制计数

0   data = pd.read_csv("data.csv")
1
2  dec = abs(decimal.Decimal('20.122').as_tuple().exponent)
3  print(dec)

所以这里第一行读取文件,第三行计算小数,第四行打印,现在打印3("20.122"有3个小数(所以现在我想搜索data.csv,找到小数最多的数字(例如2.0345(,然后使用第三行计算小数

有没有办法在Excel 中找到最大小数位数

这正是我想要的,但它在excel 中

我在这里使用熊猫,只有一个栏名为"熊猫";数据";

假设您感兴趣的列包含strings,正如您在示例中所演示的那样,您可以使用.apply()函数。

#sample data
df = pd.DataFrame([['4.5'], ['4.61'], ['4.73']], columns=['decimal'])

首先创建一个计算小数的函数,就像您已经执行一样

def count_decimals(input_string):
return abs(decimal.Decimal(input_string).as_tuple().exponent)

然后将此函数应用于要计算小数的每一列(并将此结果分配给新列(

df.assign(decimal_count=lambda x: x['decimal'].apply(count_decimals))

结果

decimal     decimal_count
0   4.5     1
1   4.61    2
2   4.73    2

您可以执行以下操作maxDecimalPlaces变量将使用数据中存在的值的最高小数位数进行更新。

data = pd.read_csv("data.csv")
maxDecimalPlaces = 0
for index, row in data.iterrows():
# considering you want to evaluate on a column say col_name
decimalPlaces = abs(decimal.Decimal(row["col_name"]).as_tuple().exponent)

if decimalPlaces > maxDecimalPlaces:
maxDecimalPlaces = decimalPlaces

假设pd是pandas,并保持问题中提供的获取小数位数的相同方法。

如果要在多个列上运行,请在colnames上添加另一个循环。

相关内容

最新更新