在DataFrame的开头(最左端)插入一列

时间:2017-09-19 18:42:38

标签: python pandas dataframe insert

我有30列的数据框,并希望添加一个新列来开始。

1 个答案:

答案 0 :(得分:7)

<强> 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 + assign
首先重新索引,然后分配将记住原始列的位置。

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