Pandas 从来自 Excel 的数据框中删除列和行
Pandas dropping columns and rows from a dataframe that came from Excel
我试图在数据框中删除一些无用的列,但出现错误:"too many indices for array"
这是我的代码:
import pandas as pd
def answer_one():
energy = pd.read_excel("Energy Indicators.xls")
energy.drop(energy.index[0,1], axis = 1)
answer_one()
选项 1
切片索引时你的语法是错误的,它应该是 columns
import pandas as pd
energy = pd.read_excel("Energy Indicators.xls")
energy.drop(energy.columns[[0,1]], axis=1)
选项 2
我会这样做
import pandas as pd
energy = pd.read_excel("Energy Indicators.xls")
energy.iloc[:, 2:]
我认为当 parsing/reading Excel 文件时跳过不需要的列更好:
energy = pd.read_excel("Energy Indicators.xls", usecols='C:ZZ')
如果您尝试删除该列,则需要更改语法。您可以通过 header 或索引来引用它们。以下是您如何按名称引用它们。
import pandas as pd
energy = pd.read_excel("Energy Indicators.xls")
energy.drop(['first_colum', 'second_column'], axis=1, inplace=True)
另一个解决方案是首先将它们排除在外:
energy = pd.read_excel("Energy Indicators.xls", usecols=[2:])
这也有助于加快导入速度。
我试图在数据框中删除一些无用的列,但出现错误:"too many indices for array"
这是我的代码:
import pandas as pd
def answer_one():
energy = pd.read_excel("Energy Indicators.xls")
energy.drop(energy.index[0,1], axis = 1)
answer_one()
选项 1
切片索引时你的语法是错误的,它应该是 columns
import pandas as pd
energy = pd.read_excel("Energy Indicators.xls")
energy.drop(energy.columns[[0,1]], axis=1)
选项 2
我会这样做
import pandas as pd
energy = pd.read_excel("Energy Indicators.xls")
energy.iloc[:, 2:]
我认为当 parsing/reading Excel 文件时跳过不需要的列更好:
energy = pd.read_excel("Energy Indicators.xls", usecols='C:ZZ')
如果您尝试删除该列,则需要更改语法。您可以通过 header 或索引来引用它们。以下是您如何按名称引用它们。
import pandas as pd
energy = pd.read_excel("Energy Indicators.xls")
energy.drop(['first_colum', 'second_column'], axis=1, inplace=True)
另一个解决方案是首先将它们排除在外:
energy = pd.read_excel("Energy Indicators.xls", usecols=[2:])
这也有助于加快导入速度。