我想在文件中找到最大的十进制计数
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上添加另一个循环。