notna
ist--Umgebung --macOS Catalina Version 10.15.7 - Python 3.8.5 - pandas 1.1.3
import pandas
if __name__ == '__main__':
df = pandas.read_csv('CSV.csv')
print(df[df.query('Name== "Ponsuke"')['Start'].notna()])
Fehlermeldung
pandas.core.indexing.IndexingError: Unalignable boolean Series provided as indexer (index of the boolean Series and of the indexed object do not match).
Weil der Index des Index des DataFrame, den Sie extrahieren möchten, nicht das Ergebnis von "notna" ist? Ich möchte, dass es mir jemand sagt.
#Der Index des DataFrame, den Sie extrahieren möchten, ist 0~Es gibt 40 bis 39
print(df)
#Name Anzahl Start Ende
#0 Ponsuke 1 9:00 18:00
# ...Kürzung...
#39 Ponsuke 10 NaN NaN
#Der Index des Ergebnisses von notna ist voll von fehlenden Zahlen und nur 10
print(df.query('Name== "Ponsuke"')['Start'].notna())
# 0 True
# 2 True
# 5 True
# 11 True
# 14 False
# 21 True
# 24 True
# 29 False
# 34 True
# 39 False
# Name:Start, dtype: bool
Wenn Sie aus einem DataFrame extrahieren, der dem Index des Ergebnisses von notna
entspricht, scheint dies ganz so zu sein
#DataFrame, der zum Index des Ergebnisses von notna passt
print(df.query('Name== "Ponsuke"'))
#Name Anzahl Start Ende
#0 Ponsuke 1 9:00 18:00
#2 Ponsuke 3 9:00 13:00
#5 Ponsuke 7 12:00 NaN
#11 Ponsuke 5 9:00 NaN
#14 Ponsuke 4 NaN NaN
#21 Ponsuke 2 18:00 NaN
#24 Ponsuke 6 18:00 NaN
#29 Ponsuke 9 NaN 18:00
#34 Ponsuke 8 12:00 NaN
#39 Ponsuke 10 NaN NaN
import pandas
if __name__ == '__main__':
df = pandas.read_csv('CSV.csv')
ponsuke = df.query('Name== "Ponsuke"')
print(ponsuke[ponsuke['Start'].notna()])
erledigt
Name Anzahl Start Ende
0 Ponsuke 1 9:00 18:00
2 Ponsuke 3 9:00 13:00
5 Ponsuke 7 12:00 NaN
11 Ponsuke 5 9:00 NaN
21 Ponsuke 2 18:00 NaN
24 Ponsuke 6 18:00 NaN
34 Ponsuke 8 12:00 NaN