--Umgebung --macOS Catalina Version 10.15.7 - Python 3.8.5 - pandas 1.1.3
df = pandas.read_csv('CSV.csv')
print(df)
Ausgabe
Name Anzahl Start Ende
0 Ponsuke 1 9:00 18:00
1 Ponsuke 2 18:00 NaN
2 Ponsuke 3 9:00 13:00
3 Ponsuke 4 NaN NaN
4 Ponsuke 5 9:00 NaN
5 Ponsuke 6 18:00 NaN
6 Ponsuke 7 12:00 NaN
7 Ponsuke 8 12:00 NaN
8 Ponsuke 9 NaN 18:00
9 Ponsuke 10 NaN NaN
Ich möchte extrahieren Daten |
Start | Ende |
---|---|---|
x | NaN | NaN |
o | Nicht NaN | NaN |
x | NaN | Nicht NaN |
o | Nicht NaN | Nicht NaN |
Methode
# [Start]So löschen Sie Daten, deren Spalte NaN ist
print(df.dropna(subset=['Start']))
# [Start]So extrahieren Sie Daten, deren Spalte nicht NaN ist
print(df[df['Start'].notna()])
# [Start]So extrahieren Sie Daten, deren Spalte nicht NaN ist
print(df.query('Start.notna()', engine='python'))
Ausgabe
Name Anzahl Start Ende
0 Ponsuke 1 9:00 18:00
1 Ponsuke 2 18:00 NaN
2 Ponsuke 3 9:00 13:00
4 Ponsuke 5 9:00 NaN
5 Ponsuke 6 18:00 NaN
6 Ponsuke 7 12:00 NaN
7 Ponsuke 8 12:00 NaN
Ich möchte extrahieren Daten |
Start | Ende |
---|---|---|
x | NaN | NaN |
x | Nicht NaN | NaN |
x | NaN | Nicht NaN |
o | Nicht NaN | Nicht NaN |
Methode
# [Start]Oder[Ende]So löschen Sie Daten in einer der Spalten NaN
print(df.dropna(subset=['Start', 'Ende']))
# [Start][Ende]So extrahieren Sie Daten, bei denen beide Spalten nicht NaN sind
print(df.query('Start.notna() &Ende.notna()', engine='python'))
Ausgabe
Name Anzahl Start Ende
0 Ponsuke 1 9:00 18:00
2 Ponsuke 3 9:00 13:00
Ich möchte extrahieren Daten |
Start | Ende |
---|---|---|
x | NaN | NaN |
o | Nicht NaN | NaN |
o | NaN | Nicht NaN |
o | Nicht NaN | Nicht NaN |
Methode
#Machen Sie NaN zu einem leeren Zeichen[Start][Ende]So extrahieren Sie nicht leere Daten, indem Sie Spalten zusammenkleben
print(df[df['Start'].str.cat(df['Ende'], na_rep='') != ''])
# [Start][Ende]So extrahieren Sie Daten, bei denen eine der Spalten nicht NaN ist
print(df.query('Start.notna() |Ende.notna()', engine='python'))
Ausgabe
Name Anzahl Start Ende
0 Ponsuke 1 9:00 18:00
1 Ponsuke 2 18:00 NaN
2 Ponsuke 3 9:00 13:00
4 Ponsuke 5 9:00 NaN
5 Ponsuke 6 18:00 NaN
6 Ponsuke 7 12:00 NaN
7 Ponsuke 8 12:00 NaN
8 Ponsuke 9 NaN 18:00
Ich möchte extrahieren Daten |
Start | Ende |
---|---|---|
x | NaN | NaN |
x | Nicht NaN | NaN |
o | NaN | Nicht NaN |
x | Nicht NaN | Nicht NaN |
Methode
# [Start]Nachdem die Säule NaN extrahiert hat[Ende]So löschen Sie Daten, deren Spalte NaN ist
print(df[df['Start'].isna()].dropna(subset=['Ende']))
# [Start]Die Säule ist nicht NaN und[Ende]So extrahieren Sie Daten, bei denen die Spalte NaN ist
print(df.query('Start.isna() &Ende.notna()', engine='python'))
Ausgabe
Name Anzahl Start Ende
8 Ponsuke 9 NaN 18:00
Recommended Posts