擅长:python、mysql、java
<p>编辑:
我很快就得到了这样的结果:</p>
<p>首先定义一个可以对一行执行此操作的函数:</p>
<pre><code>def sum_till_iloc_value(row):
return sum(row[:row['iloc_value']+1])
</code></pre>
<p>然后将其应用于所有行以生成输出:</p>
<pre><code>df_flights['sum'] = df_flights.apply(sum_till_iloc_value, axis=1)
</code></pre>
<pre><code> A B C D iloc_value sum
0 1 2 3 2 1 3
1 1 3 4 2 2 8
2 4 6 3 2 1 10
</code></pre>
<p>以前:
<strike>假设您有如下信息:</strike></p>
<pre><code>df_flights = pd.DataFrame({'flight':['f1', 'f2', 'f3'], 'business':[2,3,4], 'economy':[6,7,8]})
df_flights
</code></pre>
<pre><code> flight business economy
0 f1 2 6
1 f2 3 7
2 f3 4 8
</code></pre>
<p>您可以将所需列相加,如下所示:</p>
<pre><code>df_flights['seat_count'] = df_flights['business'] + df_flights['economy']
</code></pre>
<p>这将创建一个新列,您可以稍后选择:</p>
<pre><code>df_flights[['flight', 'seat_count']]
</code></pre>
<pre><code>
flight seat_count
0 f1 8
1 f2 10
2 f3 12
</code></pre>