选择所有列,除了 Pandas DataFrame 中的一个给定列
DataFrame数据结构是 Pandas 库的核心。数据框基本上是二维系列对象。它们有行和列,行代表索引,列代表内容。现在,让我们看看如何选择所有列,除了 Pandas Dataframe 中的一个给定列。
首先,让我们创建一个数据框:
Python3
# 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
Python3
# 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
Python3
# 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
Python3
# 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
输出:
方法一:使用Dataframe.loc[ ] 。
这个 GeeksForGeeks Dataframe 只是一个带有数字索引的二维数组。因此,除了只有一列,我们可以使用 columns 方法获取所有列,并使用 not运算符排除不需要的列。此方法仅在 Dataframe 不是多索引(没有多个索引)时有效。
示例:选择所有列,除了 Pandas Dataframe 中的一个“student_gender”列。
Python3
# 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
输出:
方法二:使用drop()方法。
Dataframe 支持 drop() 方法来删除特定的列。它接受两个参数,列/行名称和轴
示例:选择所有列,除了 Pandas Dataframe 中的一个“student_city”列。
Python3
# 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
输出:
方法三: Series.difference()方法和[ ]运算符一起使用。
Series.difference() 方法 返回一个新索引,其中包含索引中不在 other 中的元素。
示例:选择所有列,除了 Pandas Dataframe 中的一个“student_name”列。
Python3
# 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
输出: