Pandas删除数据框中除一个列以外的所有列
在本文中,我们将介绍如何使用Pandas删除数据框中除一个列以外的所有列,并提供一些简单的示例说明。
阅读更多:Pandas 教程
方法1:使用drop()函数
使用Pandas的drop()
函数可以删除列,我们可以先获取需要保留的列名称,然后使用drop函数删除不需要的列,最后将保留的列合并起来。例如,删除下面数据框中的除了”B”列以外的所有列:
import pandas as pd
data = {"A": [1, 2, 3, 4], "B": [5, 6, 7, 8], "C": [9, 10, 11, 12]}
df = pd.DataFrame(data)
print(df)
# A B C
# 0 1 5 9
# 1 2 6 10
# 2 3 7 11
# 3 4 8 12
cols_to_keep = ["B"]
df = df[cols_to_keep]
print(df)
# B
# 0 5
# 1 6
# 2 7
# 3 8
方法2:使用loc[]函数
使用Pandas的loc[]
函数可以选择列和行。我们可以使用这个函数来选择需要保留的列,然后删除其它列。例如,删除下面数据框中的除了”B”列以外的所有列:
import pandas as pd
data = {"A": [1, 2, 3, 4], "B": [5, 6, 7, 8], "C": [9, 10, 11, 12]}
df = pd.DataFrame(data)
print(df)
# A B C
# 0 1 5 9
# 1 2 6 10
# 2 3 7 11
# 3 4 8 12
cols_to_keep = ["B"]
df = df.loc[:, cols_to_keep]
print(df)
# B
# 0 5
# 1 6
# 2 7
# 3 8
方法3:使用iloc[]函数
使用Pandas的iloc[]
函数可以选择列和行。我们可以使用这个函数来选择需要保留的列,然后删除其它列。例如,删除下面数据框中的除了”B”列以外的所有列:
import pandas as pd
data = {"A": [1, 2, 3, 4], "B": [5, 6, 7, 8], "C": [9, 10, 11, 12]}
df = pd.DataFrame(data)
print(df)
# A B C
# 0 1 5 9
# 1 2 6 10
# 2 3 7 11
# 3 4 8 12
cols_to_keep = [1] # B列是第2列,因此用1表示
df = df.iloc[:, cols_to_keep]
print(df)
# B
# 0 5
# 1 6
# 2 7
# 3 8
方法4:使用pop()函数
使用Pandas的pop()
函数可以删除列并返回删除的列,我们可以先使用pop函数删除不需要的列,然后将保留的列合并起来。例如,删除下面数据框中的除了”B”列以外的所有列:
import pandas as pd
data = {"A": [1, 2, 3, 4], "B": [5, 6, 7, 8], "C": [9, 10, 11, 12]}
df = pd.DataFrame(data)
print(df)
# A B C
# 0 1 5 9
# 1 2 6 10
2 3 7 11
3 4 8 12
col_to_keep = "B"
removed_col = df.pop(col_to_keep)
df = pd.DataFrame(removed_col, columns=[col_to_keep])
print(df)
# B
# 0 5
# 1 6
# 2 7
# 3 8
总结
在本文中,我们介绍了使用Pandas删除数据框中除一个列以外的所有列的四种方法:使用drop()函数、使用loc[]函数、使用iloc[]函数和使用pop()函数。不同的方法有不同的优劣,具体使用哪种方法取决于具体需求。在实际使用时,请根据数据和需求选择最合适的方法。