Python中打印adfuller结果时%符号的作用是什么?
关于Python中print语句里%符号的疑问解答
先看你给出的代码:
from statsmodels.tsa.stattools import adfuller from numpy import log result = adfuller(df.value.dropna()) print('ADF Statistic: %f' % result[0]) print('p-value: %f' % result[1])
这里的**%不是取模运算**,它是Python里的字符串格式化操作符,属于比较旧的字符串格式化方式,作用是把后面的数值按照前面字符串里的占位符格式,插入到对应位置,生成完整的字符串输出。
具体来说:
'%f'是占位符,代表要插入一个浮点数(float),会把后面的数值转换成带小数的格式(默认保留6位小数)。- 中间的
%用来关联前面的格式化字符串和后面要插入的值,把result[0]、result[1]分别代入到对应的%f位置,最终输出像ADF Statistic: -2.345678这样的完整内容。
举个简单例子直观理解:
print('圆周率是: %f' % 3.1415926)
运行后会输出:圆周率是: 3.141593
如果是取模运算,那得是两个数值之间的操作,比如7 % 3结果是1,和这里字符串+数值的组合完全不一样。
内容的提问来源于stack exchange,提问作者tsx
相关产品推荐
相关产品推荐

