猿问

KeyError:[......] 不在索引中

我对Python比较陌生,在做作业的时候,遇到了以下问题。


这是 tensorflow 和 panda 的新入门


zerlite_13X_error = pd.read_csv("zerlite_13x_error.csv", sep=",")

def preprocess_features(zerlite_13X_error):

    """Prepares input features from zerlite_13X_error

    Args:

    zerlite_13X_error: A Pandas DataFrame expected to contain data


    Return:

    A DataFrame that contains the features to be used for the model.

including synthetic features

    """

    selected_features = zerlite_13X_error[

        ["Parameter 1",

         "Parameter 2",

         "Parameter 3",

         "Parameter 4",

         "Parameter 5",

         "Parameter 6",

         "Parameter 7",

         "Parameter 8"]]

    processed_features = selected_features.copy()

    print(processed_features.head())

    return processed_features


preprocess_features(zerlite_13X_error)

KeyError:“['Parameter 7', 'Parameter 8', 'Parameter 2', 'Parameter 3', 'Parameter 4', 'Parameter 5', 'Parameter 6'] not in index” in preprocess_features(zerlite_13X_error)


慕勒3428872
浏览 131回答 2
2回答

梦里花落0921

有两种最直观的方法可以解决您的问题:方法一使用任何文本编辑器打开源文件并查看第一行。它应该包含列名,用空格分隔。在你的情况下,它应该是这样的:Parameter 1,Parameter 2,Parameter 3,Parameter 4,Parameter 5,Parameter 6,Parameter 7,Parameter 8(也许还有其他一些专栏)。方法二就在read_csv添加:print(zerlite_13X_error.columns)此打印输出将显示刚刚读取的 DataFrame 的列名。在任一情况下查看列名列表。它应该包含“你的”列表中的每一列。如果缺少某些列,请相应地更正标题行并再次运行您的程序。另一个可能的错误来源可能是逗号后(或此行开头)的额外空格。不幸的是,read_csv不够聪明,无法过滤掉这些空格。此函数仅在分隔符 char 上拆分标题行(在本例中为逗号),并且每个生成的“段”成为相应列的名称。在上述情况下,这些额外的空格成为列名中的初始字符。另一个可能的错误来源是源文件不包含 任何标题行。在这种情况下,您应该将您自己的列名列表(名称参数)传递给read_csv ,它的顺序对应于输入文件的实际内容。另请注意,不需要sep=',' ,因为','只是此参数的默认值。因此,根据Keep It Simple规则,避免使用默认值传递任何参数。

慕容708150

所有的 Columns 都有一个空格"Parameter 1",我们在"Parameter 1". 我们需要摆脱它:df = pd.read_csv(fileName)df = df.rename({"Parameter 1": "Parameter_1"}, axis=1)
随时随地看视频慕课网APP

相关分类

Python
我要回答