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

标签 python pandas dataframe insert

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

最佳答案

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

关于python - 在DataFrame的开头(最左端)插入一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46307681/

相关文章:

python - 如何通过路径导入python文件?

从 init.d 脚本执行时 Python Popen 进程不工作

Python:为简单的 OLS 循环一个变量

apache-spark - 优化 Spark mergeByKey

python - 哪一个是在 Python 中比较数字的更好方法?为什么?

python - 拆分包含字符串和整数的列表

python - 多标签二值化器 : float object not iterable

python - 是否可以将 Pandas groupby 函数与非不相交的组一起使用?

python - 每天精确小时的值数组(5 天)

python - 如何将多个列值连接到 Pandas 数据框中的单个列