Ich mache einige Arbeit in Excel mit Pandas und Python. Ich habe so etwas.Filtern in Pandas mit Regex-Ausdruck
ID Actual Date
738564 01/21/2016
274628 02/12/2016
571749 03/30/2016
718563 10/01/2016
984739 11/30/2016
938511 12/24/2016
103216 07/16/2014
446754 08/06/2015
135654 02/01/2017
135614 01/16/2017
133346 01/16/2011
234682 N/A
238756 (none)
Also muß ich nach Datum filtern, aber ich brauche nur die Jahreszahl vor 2016 November filtern (also muß ich 2014 filtern, 2015 und zwischen Januar und Octuber von 2016). Also im Grunde nach dem Filter ich so etwas wie dieses für diese haben
ID Actual Date
738564 01/21/2016
274628 02/12/2016
571749 03/30/2016
718563 10/01/2016
103216 07/16/2014
446754 08/06/2015
133346 01/16/2011
234682 N/A
238756 (none)
Der Code Ich bin mit ist:
regex = r"[0-9]{2}/[0-9]{2}/2016"
df = pd.read_csv("Request.csv", keep_default_na=False)
df1 = df.loc[(df["Actual Date"].str.contains(r'[0-9]{2}/[0-9]{2}/2016') &
(df["Actual Date"].str.contains("2015")) &
(df["Actual Date"].str.contains("2014")) &
(df["Actual Date"].str.contains("2011")) &
(df["Actual Date"].str.contains("(None)")) &
(df["Actual Date"].str.contains("N/A"))))]
Aber wenn ich den Code ausführen, empfange ich nur die 2011, 2014 und 2015. Der reguläre Ausdruck funktioniert nicht für die Daten 2016. Ich werde wirklich die Hilfe zu schätzen weiß, und sorry für das schlechte Englisch
ok, ich denke, die beste Idee ist, das Datum in datetime zu konvertieren, aber einige Werte für dieses Schicksal sind None oder NA, und ich muss diese Werte auch zeigen. Jede Option, um es zu tun, weil ich denke, datetime akzeptiert keine Zeichenfolgen. Der Code ist so etwas –
Ich mache ein Update auf den ursprünglichen Beitrag –
@CarlosArronteBello, möchten Sie die Zeilen haben, wo 'Date' ist' None' oder 'NaN' im resultierenden Datensatz (nach dem Filtern)? – MaxU