如何在Pandas数据框架中把一个列移动到第一个位置
在pandas数据框架中移动一列的基本思路是将该列从其当前位置移除,并将其插入到所需位置。pandas库提供了许多有用的函数,如pop()和insert()。我们将利用这两个函数来操作我们的数据框架。
使用的方法:
- Pandas的Pop()方法在大多数数据结构中都很常见,但pop()方法与其他方法有点不同。在堆栈中,pop不需要任何参数,它每次都会弹出最后一个元素。但是pandas的pop方法可以从数据框架中获取一个列的输入并直接弹出。
语法: DataFrame.pop(item)
参数:
- item: 要弹出的列名是字符串
返回类型。以Pandas系列的形式弹出的列
- Pandas insert()方法允许用户在一个数据框架或系列(1-D数据框架)中插入一个列。
语法:
DataFrameName.insert(loc, column, value, allow_duplicates = False)
参数:
- loc: loc是一个整数,是我们要插入新列的位置。这将使该位置上的现有列向右移动。
- Column: column是一个字符串,是要插入的列的名称。
- Value: value是简单的要插入的值。它可以是int, string, float或任何东西,甚至是系列/列表的值。只提供一个值将为所有行设置相同的值。
- Allow_duplicates : allow_duplicates是一个布尔值,用于检查同名的列是否已经存在。
步骤:
- Import module
- 创建或加载数据框架
- 使用pop()函数删除需要转移到数据框架中第一位置的列。
- 使用insert()函数在第一个位置插入该列。
- 打印数据框架。
让我们通过以下例子来理解上述方法。
示例 1:
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)
输出:
示例 2:
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)
输出: