Ни один индекс не находится в столбцах - невозможно создать однострочную коробчатую диаграмму - PullRequest
0 голосов
/ 07 августа 2020

До сих пор:

  1. Я загружаю файл csv без заголовка. Я добавляю новые имена столбцов.

  2. Я удаляю все пробелы

  3. Я систематизирую данные. Появляются все R150 . Но я не могу сделать коробчатую диаграмму моей Istwert колонки. Ошибка:

    «Ни один из [Index ([', Istwert'], dtype = 'object')] не находится в [columns]»

Если я сохраню csv, я не нахожу ничего подозрительного.

Есть идеи?

Код на данный момент:

    import matplotlib as mpl
    import matplotlib.pyplot as plt
    import pandas as pd
    df = pd.read_csv("<FILELOCATION>", delimiter=";" , skiprows = 1, names=["BID","Testschritt","Testbeschreibung","Sollwert","Minimum","Maximum","Istwert","Einheit"])
    df = df.apply(lambda x: x.str.strip() if (x.dtype == "object") | (x.dtype == "float") else x)
    result = df.loc[df["Testschritt"] == "R150"]
    result.boxplot(column = ["Istwert"])

Это мои данные CSV: Picture of csv

And this is my result before the boxplot: Результат данных

1 Ответ

1 голос
/ 10 августа 2020

Всегда предоставляйте свои данные в виде текста, а не изображения. OCR болезненно.

У меня работает.

  1. какую версию pandas вы используете?
  2. какие у вас типы данных?
result = pd.DataFrame(
{'idx': [226, 1070, 1914, 2758, 3602, 4446, 5290, 6134, 6978, 7822],
 'BID': [7249, 7326, 7327, 7328, 7329, 7330, 7331, 7332, 7333, 7333],
 'Testschritt': ['R150','R150',  'R150',  'R150',  'R150',  'R150',  'R150',  'R150',  'R150',  'R150'],
 'Testbeschreibung': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
 'Sollwert': [22, 22, 22, 22, 22, 22, 22, 22, 22, 22],
 'Minimum': [19.8, 19.8, 19.8, 19.8, 19.8, 19.8, 19.8, 19.8, 19.8, 19.8],
 'Maximum': [24.2, 24.2, 24.2, 24.2, 24.2, 24.2, 24.2, 24.2, 24.2, 24.2],
 'Istwert': [20953,  21002,  20838,  20827,  20879,  20942,  20999,  20855,  20969,  20874],
 'Einheit': ['KOhm',  'KOhm',  'KOhm',  'KOhm',  'KOhm',  'KOhm',  'KOhm',  'KOhm',  'KOhm',  'KOhm']}
).set_index("idx")
print(f"pandas: {pd.__version__}\n{result.dtypes}")
result.boxplot(column = ["Istwert"])

выход

pandas: 1.1.0
BID                   int64
Testschritt          object
Testbeschreibung      int64
Sollwert              int64
Minimum             float64
Maximum             float64
Istwert               int64
Einheit              object
dtype: object

введите описание изображения здесь

...