如何在 Pandas DataFrame 中移動列?
在 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP