回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>请帮助我使我的代码更有效。这是我的df:</p>
<pre><code>df = pd.DataFrame([['A', 80], ['A', 64], ['A', 55], ['B', 56], ['B', 89], ['B', 73], ['C', 78], ['C', 100], ['C', 150], ['C', 76], ['C', 87]], columns=['Well', 'GR'])
</code></pre>
<pre><code>Well GR
A 80
A 64
A 55
B 56
B 89
B 73
C 78
C 100
C 150
C 76
C 87
</code></pre>
<p>请帮我找到那辆车。每口井的Vshale=GR-GR(最小)/GR(最大)-GR(最小)。这是我想要的结果:</p>
<pre><code>
Well GR Vshale
A 80 1
A 64 0.36
A 55 0
B 56 0
B 89 1
B 73 0.515151515
C 78 0.027027027
C 100 0.324324324
C 150 1
C 76 0
C 87 0.148648649
</code></pre>
<p>这段代码对我来说很有用,但是,我应该创建一个由GRMax和GRMin组成的新列,并将其合并到以前的df中。我正在寻找一种更有效的方法,不在我原来的df上添加GRmin和GRmax。多谢各位</p>
<pre><code>df1 = df.groupby(['Well']).agg({'GR': ['min', 'max']}).reset_index()
df1.columns = list(map(''.join, df1.columns.values))
df2 = pd.merge (df, df1, on = 'Well', how = 'left')
df2['Vshale'] = (df2['GR'] - df2['GRmin'])/(df2['GRmax'] - df2['GRmin'])
</code></pre>