<p>我尝试查看熊猫数据帧的特定列,并尝试执行以下操作:</p>
<pre><code>col0 col1 col2
int0 float0 str0
int1 float1 str0
int2 float2 str1
</code></pre>
<p>我试图逐行遍历该列上的数据帧,但这似乎效率不高。。lambda是一个选项,但我不确定是否有类似于DataFrame列的“列表理解”(据我所知,这是Pandas系列)。你知道吗</p>
<p>比如说,如果DataFrame被定义为df,那么我想做一些事情,比如:</p>
<pre class="lang-py prettyprint-override"><code>for row in df:
if df['col2'] == str0:
# do some calculation for all str0 types
elif df['col2'] == str1:
# do another calculation for all str1 types
else:
# do another calculation for all other types (which are actually str2 types implied by the if-elif-else statement)
</code></pre>
<p>为了得到一个单独的NumPy矩阵,它将创建一个与DataFrame的相应行相对应的NumPy行。通过检查“col2”的条件,将根据其值执行单独的计算,并生成相应numy数组的行。你知道吗</p>
<p>请让我知道是否有一个有效的方法(无论是在规范,python编码以及时间和内存效率方面)!我们将不胜感激。你知道吗</p>
<p>从维护角度来看,最简单的事情是创建一个函数,例如:</p>
<pre><code>def fn(x):
if x < 5:
return x * 2
else:
return x * 3
</code></pre>
<p>然后将其应用于您的专栏:</p>
<pre><code>df["col2"].apply(fn)
</code></pre>