这里是详细讲解 pandas 调整列顺序以及添加列的实现的攻略。
为了方便演示,我们先创建一个示例数据集:
import pandas as pd
import numpy as np
data = {"Name": ["Alice", "Bob", "Cathy", "David", "Emily"],
"Age": [28, 25, 23, 19, 32],
"Gender": ["F", "M", "F", "M", "F"],
"Salary": [5000, 4000, 3000, 2000, np.nan]}
df = pd.DataFrame(data)
print(df)
# 输出:
# Name Age Gender Salary
# 0 Alice 28 F 5000.0
# 1 Bob 25 M 4000.0
# 2 Cathy 23 F 3000.0
# 3 David 19 M 2000.0
# 4 Emily 32 F NaN
现在我们就可以开始讲解 pandas 调整列顺序以及添加列的实现了。
调整列顺序
pandas 中可以使用 reindex
方法来调整列顺序,具体步骤如下:
- 先获取当前 DataFrame 的列名
column_names
。 - 以需要的顺序重新排列列名,得到对应的
new_column_names
。 - 使用
reindex
方法按照新的列名重新排列列顺序。
下面是示例代码:
# 获取列名
column_names = df.columns.tolist()
print(column_names)
# 输出:['Name', 'Age', 'Gender', 'Salary']
# 重新排列列名
new_column_names = ['Age', 'Gender', 'Salary', 'Name']
print(new_column_names)
# 按照新的列名重新排列列顺序
df = df.reindex(columns=new_column_names)
print(df)
# 输出:
# Age Gender Salary Name
# 0 28 F 5000.0 Alice
# 1 25 M 4000.0 Bob
# 2 23 F 3000.0 Cathy
# 3 19 M 2000.0 David
# 4 32 F NaN Emily
可以看到,列的顺序已经根据新的列表顺序进行了调整。
添加列
pandas 中可以使用 insert
方法来添加列,具体步骤如下:
- 定义你要添加的列名
new_column_name
和对应的数据new_column_data
。 - 使用
insert
方法在 DataFrame 中添加新的列。
下面是示例代码:
# 添加新的一列 "Rank"
new_column_name = "Rank"
new_column_data = ["A", "B", "C", "D", "E"]
# 在列 "Salary" 的位置添加新的一列 "Rank"
salary_index = df.columns.get_loc("Salary")
df.insert(loc=salary_index, column=new_column_name, value=new_column_data)
print(df)
# 输出:
# Age Gender Rank Salary Name
# 0 28 F A 5000.0 Alice
# 1 25 M B 4000.0 Bob
# 2 23 F C 3000.0 Cathy
# 3 19 M D 2000.0 David
# 4 32 F E NaN Emily
可以看到,新的一列已经被成功添加到了 DataFrame 中。
再来看一个示例,假设我们想要添加一个新的列,表示这个人是否是“成年人”,我们可以使用 apply
方法和一个 lambda 函数来实现,代码如下:
# 使用 `apply` 方法和一个 lambda 函数添加一个新的列,表示这个人是否是"成年人",成年:True,未成年:False
df["Adult"] = df["Age"].apply(lambda x: True if x >= 18 else False)
print(df)
# 输出:
# Age Gender Rank Salary Name Adult
# 0 28 F A 5000.0 Alice True
# 1 25 M B 4000.0 Bob True
# 2 23 F C 3000.0 Cathy True
# 3 19 M D 2000.0 David True
# 4 32 F E NaN Emily True
可以看到,新的一列 “Adult” 已经被成功添加到了 DataFrame 中,并且表示得是否是“成年人”的信息也正确地计算出来了。
这就是 pandas 调整列顺序以及添加列的实现的攻略了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas调整列的顺序以及添加列的实现 - Python技术站