📅  最后修改于: 2023-12-03 15:07:47.298000             🧑  作者: Mango
在处理数据框时,有时候需要从原始数据框中选择一个或多个列并将它们包含在一个新的数据框中。Python 中提供了多种方法来实现这个目的,包括使用 loc
和 iloc
索引器、使用 []
运算符和使用 drop()
方法等等。
loc
和 iloc
索引器选择列loc
和 iloc
索引器是两种常用的选取数据框中指定行、列的语法,它们提供了多种方式通过标签或位置进行访问,这里只介绍其中一种基于标签的语法方式。
import pandas as pd
# 创建一个数据框 df
df = pd.DataFrame({
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Gender': ['Female', 'Male', 'Male']
})
# 选择数据框中的 Name 和 Age 两列并创建新的数据框 df_new
df_new = df.loc[:, ['Name', 'Age']]
print(df_new)
输出:
Name Age
0 Alice 25
1 Bob 30
2 Charlie 35
解析:
上述代码中,通过 loc
索引器选择了数据框 df 中 Name 和 Age 两列,并通过 [:, ['Name', 'Age']]
语法表示选择所有行和 ['Name', 'Age'] 两列的数据,并将结果赋值给了新的数据框 df_new。
[]
运算符选择列除了使用 loc
和 iloc
索引器外,也可以使用 Python 中的 []
运算符来选择列,这种方法更加简洁。
import pandas as pd
# 创建一个数据框 df
df = pd.DataFrame({
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Gender': ['Female', 'Male', 'Male']
})
# 选择数据框中的 Name 和 Age 两列并创建新的数据框 df_new
df_new = df[['Name', 'Age']]
print(df_new)
输出:
Name Age
0 Alice 25
1 Bob 30
2 Charlie 35
解析:
上述代码中,通过 [['Name', 'Age']]
语法选择了数据框 df 中 Name 和 Age 两列,并将结果赋值给了新的数据框 df_new。
drop()
方法删除不需要的列除了选择需要的列之外,还可以使用 drop()
方法删除不需要的列。
import pandas as pd
# 创建一个数据框 df
df = pd.DataFrame({
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Gender': ['Female', 'Male', 'Male']
})
# 删除数据框中的 Gender 列并创建新的数据框 df_new
df_new = df.drop('Gender', axis=1)
print(df_new)
输出:
Name Age
0 Alice 25
1 Bob 30
2 Charlie 35
解析:
上述代码中,通过 drop()
方法删除了数据框 df 中 Gender 列,并将结果赋值给了新的数据框 df_new。需要注意的是,drop()
方法是通过指定 axis=1
来删除列的。
以上介绍了在 Python 中选择要包含在新数据框中的列的三种常用方法,包括使用 loc
和 iloc
索引器、使用 []
运算符以及使用 drop()
方法。在实际的开发中,可以根据具体的需求选择最为合适的方法进行处理。