При обробці pandas-датасетів часто вам потрібно видалити значення вище або нижче заданого порогу з датасету. Один спосіб “видалити” значення з датасету — замінити їх на NaN (not a number) значення, які типово трактуються як “пропущені” значення.
Наприклад: Щоб замінити значення x-колонки на NaN, де x-колонка є < 0.75 у DataFrame df, використовуйте цей фрагмент:
pandas_replace_by_nan.py
import numpy as np
df["x"][df["x"] < -0.75] = np.nanНаприклад, ми можемо запустити це на TechOverflow pandas-прикладі датасету часового ряду. Оригінальний датасет має дві колонки: Sine та Cosine і виглядає так:
Після запуску
pandas_replace_sine_by_nan.py
df["Sine"][df["Sine"] < -0.75] = np.nanви можете побачити, що всі Sine-значення нижче 0.75 були пропущені з графіку, але всі значення з Cosine-колонки залишилися без змін:
Повний приклад коду:
pandas_timeseries_complete_example.py
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
plt.style.use("ggplot")
# Load pre-built time series example dataset
df = pd.read_csv("https://datasets.techoverflow.net/timeseries-example.csv", parse_dates=["Timestamp"])
df.set_index("Timestamp", inplace=True)
# Plot original code
df.plot()
plt.savefig("TimeSeries-Original.svg")і це код, щоб побудувати відфільтрований датасет:
pandas_timeseries_filtered.py
df[df < -0.75] = np.nan
df.plot()
plt.savefig("TimeSeries-NaN.svg")
Дивіться схожі статті за категоріями:
Data Science Pandas Python
Якщо ця стаття допомогла вам, будь ласка, подумайте про те, щоб купити мені каву або зробити пожертву через PayPal на підтримку досліджень та публікації нових статей на TechOverflow