擅长:python、mysql、java
<p>以下是一个解决方案(为了更清晰,分两个步骤):</p>
<pre><code>df = pd.DataFrame({"a": range(0, 10), "b": range(10, 20), "c": range(20, 30)})
df["inx"] = range(len(df))
df["d"] = np.where(df.inx % 3 == 0, df["a"],
np.where(df.inx % 3 == 1, df["b"], df["c"]))
df = df.drop("inx", axis="columns")
</code></pre>
<p>结果:</p>
<pre><code> a b c d
0 0 10 20 0
1 1 11 21 11
2 2 12 22 22
3 3 13 23 3
4 4 14 24 14
5 5 15 25 25
6 6 16 26 6
7 7 17 27 17
8 8 18 28 28
9 9 19 29 9
</code></pre>