<p>我仍然不能真正理解如何和在哪里,但是您展示了在函数的某个地方,您能够构建一个float64系列,其中包含<code>Left-Amygdala_Volume_mm3</code>作为索引,<code>-0.29729</code>作为值。我假设同时,对于相同的索引值,有<code>meand</code>的值。你知道吗</p>
<p>更确切地说,我将假设:</p>
<pre><code>k = pd.Series([-0.29729], dtype=np.float64,index=['Left-Amygdala_Volume_mm3'])
</code></pre>
<p>因为它打印为:</p>
<pre><code>print(k)
Left-Amygdala_Volume_mm3 -0.29729
dtype: float64
</code></pre>
<p>同时,我假设<code>meand</code>也是一个类似的序列。所以我们将访问它的值作为<code>meand.iloc[0]</code>(假设值是9174.1)</p>
<p>您应该将它们组合起来以构建行的内容:</p>
<pre><code>row = k.reset_index().iloc[0].tolist() + [meand.iloc[0]]
</code></pre>
<p>在这个例子中我们有<code>row</code>:<code>['Left-Amygdala_Volume_mm3', -0.29729, 9174.1]</code></p>
<p>因此,您现在需要构建一个包含这些行的大型列表:</p>
<pre><code>def select_volumes(group_c,group_k):
Select_list = ["Amygdala", "Hippocampus", "Lateral-Ventricle",
"Pallidum", "Putamen", "Thalamus"]
Side = ["Left", "Right"]
data = []
for s in Side:
for struct in Select_list:
volumes_c = group_c.filter(regex="^(?=.*"+s+")(?=.*"+struct+")
(?=.*Volume)")
volumes_k = group_k.filter(regex="^(?=.*"+s+")(?=.*"+struct+")
(?=.*Volume)")
k = cohens_d(volumes_c, volumes_k)
meand = volumes_c.mean()
# build a row of result df
data.append(k.reset_index().iloc[0].tolist() + [meand.iloc[0]])
# after the loop combine the rows into a dataframe and return it:
result = pd.DataFrame(data, columns=['index', "Cohen's d", 'Mean']).set_index('index')
return result
</code></pre>