--Environnement --macOS Catalina version 10.15.7 - Python 3.8.5 - pandas 1.1.3
df = pandas.read_csv('CSV.csv')
print(df)
production
Nom Count Start End
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
Je veux extraire Les données |
début | Fin |
---|---|---|
x | NaN | NaN |
o | Pas NaN | NaN |
x | NaN | Pas NaN |
o | Pas NaN | Pas NaN |
Méthode
# [début]Comment supprimer des données dont la colonne est NaN
print(df.dropna(subset=['début']))
# [début]Comment extraire des données dont la colonne n'est pas NaN
print(df[df['début'].notna()])
# [début]Comment extraire des données dont la colonne n'est pas NaN
print(df.query('début.notna()', engine='python'))
production
Nom Count Start End
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
Je veux extraire Les données |
début | Fin |
---|---|---|
x | NaN | NaN |
x | Pas NaN | NaN |
x | NaN | Pas NaN |
o | Pas NaN | Pas NaN |
Méthode
# [début]Ou[Fin]Comment supprimer des données dans l'une des colonnes NaN
print(df.dropna(subset=['début', 'Fin']))
# [début][Fin]Comment extraire des données où les deux colonnes ne sont pas NaN
print(df.query('début.notna() &Fin.notna()', engine='python'))
production
Nom Count Start End
0 Ponsuke 1 9:00 18:00
2 Ponsuke 3 9:00 13:00
Je veux extraire Les données |
début | Fin |
---|---|---|
x | NaN | NaN |
o | Pas NaN | NaN |
o | NaN | Pas NaN |
o | Pas NaN | Pas NaN |
Méthode
#Faire de NaN un caractère vide[début][Fin]Comment extraire des données non vides en collant des colonnes ensemble
print(df[df['début'].str.cat(df['Fin'], na_rep='') != ''])
# [début][Fin]Comment extraire des données là où l'une des colonnes n'est pas NaN
print(df.query('début.notna() |Fin.notna()', engine='python'))
production
Nom Count Start End
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
Je veux extraire Les données |
début | Fin |
---|---|---|
x | NaN | NaN |
x | Pas NaN | NaN |
o | NaN | Pas NaN |
x | Pas NaN | Pas NaN |
Méthode
# [début]Après que la colonne extrait NaN[Fin]Comment supprimer des données dont la colonne est NaN
print(df[df['début'].isna()].dropna(subset=['Fin']))
# [début]La colonne n'est pas NaN et[Fin]Comment extraire des données où la colonne est NaN
print(df.query('début.isna() &Fin.notna()', engine='python'))
production
Nom Count Start End
8 Ponsuke 9 NaN 18:00
Recommended Posts