Python Pandas запись строки фрейма данных не сопоставима по условию - PullRequest
2 голосов
/ 05 августа 2020

Я читаю CSV-файл с данными. Все нормально работает. Я могу выполнить задачу вроде

df.loc[(df["BID"] == 7249)

Но я хотел бы сделать то же самое с «Testschritt», например

df.loc[(df["Testschritt"] == "F1")

Но все мои записи ложные . Но вы можете ясно видеть, что некоторые записи должны быть true .

Я использую блокнот jupyter.

Здесь полный код:

import matplotlib as mpl
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv("<FILELOCATION>", ";")
df.loc[(df["Testschritt"] == "F1")

Вывод см. На прилагаемых картинках Вывод 1 А здесь Вывод 2

Пожалуйста, дайте совет, Спасибо

Ответы [ 3 ]

4 голосов
/ 05 августа 2020

Кажется, что перед F1 есть какие-то пробелы, например ' F1', вы можете удалить их, например:

df.loc[df["Testschritt"].str.strip() == "F1"]

Или вы можете назначить вывод обратно:

df["Testschritt"] = df["Testschritt"].str.strip()
df.loc[df["Testschritt"] == "F1"]
0 голосов
/ 05 августа 2020

вы можете сделать простую вещь, например

df[df['Testschritt']=='F1']

, чтобы получить столбец Testschritt фрейма данных, содержащий все значения F1. или чтобы получить истинные ложные результаты

сделайте вот так

df['Testschritt'] == 'F1'
0 голосов
/ 05 августа 2020

Вы также можете использовать str.contains () , если вам не нужно точное совпадение.

df["Testschritt"].str.contains("F1")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...