选择除了Pandas数据框架中的一个给定列之外的所有列
数据框架数据结构是Pandas库的核心。数据框架基本上是二维系列对象。它们有行和列,行代表索引,列代表内容。现在,让我们看看如何在Pandas Dataframe中选择所有列,除了一个给定的列。
首先,让我们创建一个数据框架。
# import pandas library
import pandas as pd
# create a Dataframe
data = pd.DataFrame({
'course_name': ['Data Structures', 'Python',
'Machine Learning'],
'student_name': ['A', 'B',
'C'],
'student_city': ['Chennai', 'Pune',
'Delhi'],
'student_gender': ['M', 'F',
'M'] })
# show the Dataframe
data
输出:
方法1:使用Dataframe.loc[ ].
这个GeeksForGeeks数据框架只是一个带有数字索引的二维数组。因此,要想只排除一列,我们可以使用columns方法来获取所有的列,并使用not操作符来排除不需要的列。这种方法只有在Dataframe没有多索引(没有一个以上的索引)时才有效。
例子:选择所有的列,除了Pandas Dataframe中的一个’student_gender’列。
# import pandas library
import pandas as pd
# create a Dataframe
data = pd.DataFrame({
'course_name': ['Data Structures', 'Python',
'Machine Learning'],
'student_name': ['A', 'B',
'C'],
'student_city': ['Chennai', 'Pune',
'Delhi'],
'student_gender': ['M', 'F',
'M'] })
df = data.loc[ : , data.columns != 'student_gender']
# show the dataframe
df
输出:
方法2:使用drop()方法。
Dataframe支持drop()方法来删除一个特定的列。它接受两个参数,列/行名称和axis
例子:选择所有的列,除了Pandas数据框架中的一个’student_city’列。
# import pandas library
import pandas as pd
# create a Dataframe
data = pd.DataFrame({
'course_name': ['Data Structures', 'Python',
'Machine Learning'],
'student_name': ['A', 'B',
'C'],
'student_city': ['Chennai', 'Pune',
'Delhi'],
'student_gender': ['M', 'F',
'M'] })
# drop method
df = data.drop('student_city',
axis = 1)
# show the dataframe
df
输出:
移除student_city列
方法3:使用Series.difference()方法和[ ]操作者一起。
Series.difference() 方法返回一个新的Index,其中包括不在其他索引中的元素。
例子:选择所有列,除了Pandas数据框架中的一个’student_name’列。
# import pandas library
import pandas as pd
# create a Dataframe
data = pd.DataFrame({
'course_name': ['Data Structures', 'Python',
'Machine Learning'],
'student_name': ['A', 'B',
'C'],
'student_city': ['Chennai', 'Pune',
'Delhi'],
'student_gender': ['M', 'F',
'M'] })
df = data[data.columns.difference(['student_name'])]
# show the dataframe
df
输出:
被过滤的学生姓名栏
极客教程