擅长:python、mysql、java
<p>由于某些原因,pandas中没有包含对数函数,但它与numpy函数一起使用非常简单(而且非常有效)。你知道吗</p>
<pre><code>import pandas as pd
import numpy as np
d = {'model_id': [1, 2, 4, 8, 16], 't_err':[.715130, .236947, .002106, .001043, .000512]}
d = pd.DataFrame(d)
transformx = -d['model_id'].apply(np.log10)
transformy = d['t_err'].apply(np.log10)
denom = transformx.diff()
num = transformy.diff()
slope = (num / denom).fillna(0)
slope
0 0.000000
1 1.593641
2 6.813915
3 1.013766
4 1.026523
dtype: float64
</code></pre>
<p>如果NaN足够,您可以简单地删除<code>fillna</code>函数调用。你知道吗</p>