擅长:python、mysql、java
<p>如果索引失败,您可以为返回缺少的值创建自定义函数:</p>
<pre><code>def f(a, b):
try:
return a[int(b):]
except:
return np.nan
df['colC'] = [f(a,b) for a, b in zip(df['colA'], df['colB'])]
</code></pre>
<p>或:</p>
<pre><code>df['colC'] = df.apply(lambda x: f(x['colA'], x['colB']), axis=1)
</code></pre>
<hr/>
<pre><code>print (df)
colA colB colC
0 abcde 4.0 e
1 abcde 2.0 cde
2 abcde 1.0 bcde
3 NaN NaN NaN
4 wxyz 3.0 z
5 wxyz 2.0 yz
</code></pre>
<p>测试非缺失值的另一个想法:</p>
<pre><code>df['colC'] = [a[int(b):] if pd.notna(a) and pd.notna(b)
else np.nan
for a, b in zip(df['colA'], df['colB'])]
print (df)
colA colB colC
0 abcde 4.0 e
1 abcde 2.0 cde
2 abcde 1.0 bcde
3 NaN NaN NaN
4 wxyz 3.0 z
5 wxyz 2.0 yz
</code></pre>