在 DataFrame 的开头(最左端)插入一列
问题描述
我有 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
相关文章