如何在 Pandas DataFrame 中移动一列?
pythonserver side programmingprogramming更新于 2025/10/28 7:40:17
我们可以使用 Pandas 中的 shift() 方法来移动 DataFrame 的列,而无需重写整个 DataFrame。shift() 采用以下参数
shift(self, periods=1, freq=None, axis=0, fill_value=None)
- periods 要移动的周期数。也可以采用负数。
- axis 它采用布尔值;如果要移动索引,则为 0;如果要移动列,则为 1
- fill_value 它将替换缺失值。
让我们举一个例子,看看如何使用这个 shift() 方法。
步骤
- 创建一个二维、大小可变、可能异构的表格数据,df。
- 打印输入 DataFrame,df。
- 选择一列并使用 df["column_name]=df.column_name.shift() 移动它
- 打印更新的 DataFrame。
示例
import pandas as pd
df = pd.DataFrame(
dict(
name=['John', 'Jacob', 'Tom', 'Tim', 'Ally'],
marks=[89, 23, 100, 56, 90],
subjects=["Math", "Physics", "Chemistry", "Biology", "English"]
)
)
print "Input DataFrame is:\n", df
df["name"] = df.name.shift(1)
print "After shifting column name by 1:\n", df
df["marks"] = df.marks.shift(2)
print "After shifting column marks by 2:\n", df
df["subjects"] = df.subjects.shift(-1)
print "After shifting column subjects by -1:\n", df
输出
Input DataFrame is: name marks subjects 0 John 89 Math 1 Jacob 23 Physics 2 Tom 100 Chemistry 3 Tim 56 Biology 4 Ally 90 English After shifting column name by 1: name marks subjects 0 NaN 89 Math 1 John 23 Physics 2 Jacob 100 Chemistry 3 Tom 56 Biology 4 Tim 90 English After shifting column marks by 2: name marks subjects 0 NaN 100 Math 1 John 100 Physics 2 Jacob 89 Chemistry 3 Tom 23 Biology 4 Tim 100 English After shifting column subjects by -1: name marks subjects 0 NaN 100 Physics 1 John 100 Chemistry 2 Jacob 89 Biology 3 Tom 23 English 4 Tim 100 NaN
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

