问题描述
我有 30 列的数据框,想添加一个新列开始.
I have dataframe with 30 columns and want to add one new column to start.
推荐答案
DataFrame.insert
df = pd.DataFrame({'A': ['x'] * 3, 'B': ['x'] * 3}) df A B 0 x x 1 x x 2 x x seq = ['a', 'b', 'c']
# This works in-place. df.insert(0, 'C', seq) df C A B 0 a x x 1 b x x 2 c x x
<小时>
<代码>pd.concat
df = pd.concat([pd.Series(seq, index=df.index, name='C'), df], axis=1) df C A B 0 a x x 1 b x x 2 c x x
<小时>
DataFrame.reindex + 分配
先reindex,然后assign会记住原列的位置.
DataFrame.reindex + assign
Reindex first, then assign will remember the position of the original column.
df.reindex(['C', *df.columns], axis=1).assign(C=seq) C A B 0 a x x 1 b x x 2 c x x