如何将列移动到 Pandas DataFrame 中的第一个位置?
先决条件:熊猫
在 Pandas 数据框中移动列的基本思想是将列从其当前位置移除并将其插入所需位置。 pandas 库提供了许多有用的函数,例如 pop() 和 insert()。我们将利用这两个函数来操作我们的数据帧。
使用的功能:
- Pandas Pop()方法在大多数数据结构中都很常见,但pop()方法与其他方法略有不同。在堆栈中,pop 不需要任何参数,它每次都弹出最后一个元素。但是 pandas pop 方法可以从数据框中获取一列的输入并直接弹出。
Syntax: DataFrame.pop(item)
Parameters:
- item: Column name to be popped in string
Return type: Popped column in form of Pandas Series
- Pandas insert() 方法允许用户在数据框或系列(一维数据框)中插入一列。
Syntax:
DataFrameName.insert(loc, column, value, allow_duplicates = False)
Parameters:
- loc: loc is an integer which is the location of column where we want to insert new column. This will shift the existing column at that position to the right.
- Column: column is a string which is name of column to be inserted.
- Value: value is simply the value to be inserted. It can be int, string, float or anything or even series / List of values. Providing only one value will set the same value for all rows.
- Allow_duplicates : allow_duplicates is a boolean value which checks if column with same name already exists or not.
方法:
- 导入模块
- 创建或加载数据框
- 使用 pop()函数删除需要移至数据框中第一个位置的列。
- 使用 insert()函数在第一个位置插入列。
- 打印数据框。
让我们通过以下示例了解上述方法:
示例 1:
Python3
import pandas as pd
# define data
data = {'Age': [55, 20, 35, 10], 'Name': ['Rohan', 'Ritik', 'Sangeeta', 'Yogesh'],
'Address': ['Lucknow', 'Delhi', 'Haridwar', 'Nainital'],
'Phone Number': [123456789, 234567890, 3456789012, 4567890123]}
# create dataframe
df = pd.DataFrame(data)
# print original dataframe
print("Original Dataframe")
display(df)
# shift column 'Name' to first position
first_column = df.pop('Name')
# insert column using insert(position,column_name,
# first_column) function
df.insert(0, 'Name', first_column)
print()
print("After Shifting column to first position")
display(df)
Python3
import pandas as pd
# define data
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
# create dataframe
df = pd.DataFrame(data)
print("Original DataFrame:")
display(df)
# shift column 'C' to first position
first_column = df.pop('C')
# insert column using insert(position,column_name,first_column) function
df.insert(0, 'C', first_column)
print()
print("Final DataFrame")
display(df)
输出:
示例 2:
蟒蛇3
import pandas as pd
# define data
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
# create dataframe
df = pd.DataFrame(data)
print("Original DataFrame:")
display(df)
# shift column 'C' to first position
first_column = df.pop('C')
# insert column using insert(position,column_name,first_column) function
df.insert(0, 'C', first_column)
print()
print("Final DataFrame")
display(df)
输出: