[PYTHON] Daten nach Schwellenwert aufteilen

Teilen Sie die Daten in aufsteigender Reihenfolge in die Anzahl der Schwellenwerte + 1 bei mehreren Schwellenwerten

python3


import numpy as np, pandas as pd
def partition(attr, ths, tgt=None):
    if tgt is None:
        tgt = attr
    elif isinstance(attr, pd.DataFrame):
        tgt = attr[tgt]
    po = 0
    for th in ths:
        pr = po
        while tgt[po] < th:
            po += 1
        yield tgt[pr:po]
    yield tgt[po:]
# def partition(arr, ths, tgt=None):
#     if tgt is None:
#         tgt = arr
#     elif isinstance(arr, pd.DataFrame):
#         tgt = arr[tgt]
#     r = []
#     pr = 0
#     for th in ths:
#         po = ilen(takewhile(lambda i: i < th, tgt[pr:]))+pr
#         r.append(arr[pr:po])
#         pr = po
#     r.append(arr[po:])
#     return r

from IPython.display import display
for i in partition(range(1,11), [3,6]):
    display(i)
for i in partition(np.arange(1,11), [3,6]):
    display(i)
for i in partition(pd.Series(np.arange(1,11)), [3,6]):
    display(i)
for i in partition(pd.DataFrame(np.arange(1,11)), [3,6], 0):
    display(i)
>>>
range(1, 3)
range(3, 6)
range(6, 11)

array([1, 2])
array([3, 4, 5])
array([ 6,  7,  8,  9, 10])

0    1
1    2
dtype: int32
2    3
3    4
4    5
dtype: int32
5     6
6     7
7     8
8     9
9    10
dtype: int32
0
0 1
1 2
0
2 3
3 4
4 5
0
5 6
6 7
7 8
8 9
9 10

Der Kommentarteil wurde unter Bezugnahme auf "NumPy, um die Position über dem Schwellenwert zu finden - Qiita" erstellt, aber wenn die Anzahl klein ist, einfach Während war schneller, also habe ich es ersetzt.

das ist alles

Recommended Posts

Daten nach Schwellenwert aufteilen
Trainingsdaten von CNN
Korrelation durch Datenvorverarbeitung
Gzip komprimiert Daten durch Streaming
Visualisierung von Daten nach Präfektur
Von Django erfasste Daten wurden weitergegeben
Erste Satellitendatenanalyse von Tellus
Pandas Cleansing Labeled Training Data Split
10 Auswahlen der Datenextraktion durch pandas.DataFrame.query
Animation von Geodaten durch Geopandas
Erkennung von EKG-Datenanomalien durch Matrix Profile
Organisieren Sie mit Python nach Ordnern getrennte Daten