import pandas as pd
import numpy as np
rows = 4
cols = 4
df = pd.DataFrame(np.zeros((rows, cols)))
Ich habe es verwendet, als ich das aus dem numpy-Array extrahierte Element "teilen" und die Anzahl der Stellen im Minderheitenteil überprüfen wollte.
Da split
einestr-Typ-Methode
ist, konvertieren Sie sie in str und holen Sie sie dann ab.
import numpy as np
narr = np.array([1.3334, 5.3343, 7.3322])
n_to_str = np.array2string(x[0])
print(len(n_to_str.split('.')[-1]))
# 4
Wenn Sie eine Verbindung ganz rechts herstellen möchten
a = [1,2,3]
b = [1,2,3]
bf = pd.DataFrame()
bf['a'] = a
bf['b'] = b
a b
0 1 1
1 2 2
2 3 3
a = [1,2,3]
b = [1,2,3]
bf = pd.DataFrame(a, columns=['a'])
bf.insert(1, "b", b)
a b
0 1 1
1 2 2
2 3 3
Zusammen verbunden
a = [1,2,3]
b = [1,2,3]
c = [1,2,3]
cols = {
"a":a,
"b":b,
"c":c
}
da = pd.DataFrame(cols)
#Horizontal verbunden
print(pd.concat([da,da], axis=1, ignore_index=True))
print()
#Vertikal verbunden
# ignore_Wenn der Index nicht als True angegeben ist, lautet er 012012.
print(pd.concat([da,da], axis=0, ignore_index=True))
0 1 2 3 4 5
0 1 1 1 1 1 1
1 2 2 2 2 2 2
2 3 3 3 3 3 3
a b c
0 1 1 1
1 2 2 2
2 3 3 3
3 1 1 1
4 2 2 2
5 3 3 3
Es ist eine Technik zum Konvertieren in ein Format, das von Python bei der Berechnung von Datums- und Zeitdaten verarbeitet werden kann.
Die Konvertierung in einen Zeitstempel erleichtert die Handhabung, wenn Sekunden, Minuten und Stunden vorwärts gehen.
Ein Beispiel für den Versuch zu rechnen, ohne etwas zu tun
#Beispiel) 1:59:50 + 0:00::20 = 2:00:10
#Wenn Sie nicht in einen Zeitstempel konvertieren
hour = 1
minute = 59
sec = 50
add_hour = 0
add_minute = 0
add_sec = 20
if sec + add_sec > 60 or minute + add_minute > 60 or hour + add_hour > 24:
#Tragevorgang
else:
#Verarbeitung, wenn es nicht nach oben geht
Datetime-Zeichenfolge,In Zeitstempel konvertieren
from datetime import datetime
s = "2020.07.10 22:59:59"
date = datetime.strptime(s, "%Y.%m.%d %H:%M:%S")
print(date)
# 2020-07-10 22:59:59
timestamp = datetime.timestamp(date)
print(timestamp)
# 1594389599.0
Nachdem Sie den Zeitstempel in eine Liste usw. eingefügt haben, geben Sie ihn in eine Zeichenfolge zurück
from datetime import datetime
t_list = [1594177973.0,1594177974.0,1594177975.0]
print(type(t_list[0]))
# float
#In Datums- / Uhrzeittyp und dann in Zeichenfolge konvertieren
datetime.fromtimestamp(t_list[0]).strftime("%H:%M:%S")
# '12:12:53'
Sie können ein datetime.datetime-Objekt
mit datetime.timedelta
addieren oder subtrahieren
Unterstützt Berechnungen für Wochen, Tage, Stunden, Minuten, Sekunden
import datetime
#Aktuelle Uhrzeit
now = datetime.datetime.now()
print(now)
# 2020-07-11 18:19:47.149523
#Fügen Sie der aktuellen Zeit 10 Sekunden hinzu
now_add_10sec = now + datetime.timedelta(seconds=10)
print(now_add_10sec)
# 2020-07-11 18:19:57.149523
Verwenden Sie "numpy convolve". Es ist schneller als "Pandas Rollin" und der Code ist kurz und leicht zu verstehen.
period = 3 #Durchschnittlicher Zeitraum
data = np.arange(1,10)
print(data)
print(len(data))
# mode = { same, valid, full }Sie können aus wählen
# same:Die Anzahl der Elemente im Berechnungsergebnis ist gleich groß(nicht empfohlen)
# valid:Es gibt viele Überlegungen, aber die Größe ist(period-1)Abgekratzt werden(Empfehlung)
# full:Erhöhte Größe (nicht empfohlen))
average = np.convolve(data, np.ones(period)/period, mode='valid')
print(average)
print(len(average))
print([np.nan]*(period-1) + average.tolist()) #Legen Sie Nan in den abgekratzten Teil
[1 2 3 4 5 6 7 8 9]
9
[2. 3. 4. 5. 6. 7. 8.]
7
[nan, nan, 2.0, 3.0, 3.9999999999999996, 5.0, 6.0, 7.0, 8.0]
Recommended Posts