動(dòng)漫人物
2021-07-06 13:15:02
我有一個(gè)格式很差的日期的大部分空數(shù)據(jù)框,我將其轉(zhuǎn)換為 DateTime 格式。from io import StringIOdata = StringIO("""issue_date,issue_date_dt,,19600215.0,1960-02-15,,""")df = pd.read_csv(data, parse_dates=[1])其中產(chǎn)生 issue_date issue_date_dt0 NaN NaT1 NaN NaT2 19600215.0 1960-02-153 NaN NaT4 NaN NaT我希望我可以使用 df.any() 來查找行或列中是否有值。axis=0表現(xiàn)如預(yù)期:df.any(axis=0)issue_date Trueissue_date_dt Truedtype: bool但axis=1只是一直為所有行返回 false。df.any(axis=1)0 False1 False2 False3 False4 Falsedtype: bool
1 回答

HUWWW
TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊
我不完全確定為什么會(huì)發(fā)生這種情況[1],我最好的猜測是沿第一個(gè)軸的不同數(shù)據(jù)類型導(dǎo)致了這種意想不到的結(jié)果,正如any沿軸預(yù)期的那樣工作0。 但是,我認(rèn)為解決這個(gè)問題的方法實(shí)際上是一種更好的方法,因?yàn)樽x者可以更直接地了解您要檢查的內(nèi)容。
這可能是一個(gè)錯(cuò)誤,如果您同意我建議在pandas github 頁面上打開一個(gè)問題。
解決方法很簡單,利用notnulltoany在 type 的同bool構(gòu)掩碼上使用,而不是包含混合類型的 DataFrame
df.notnull().any(1)
0 False
1 False
2 True
3 False
4 False
dtype: bool
添加回答
舉報(bào)
0/150
提交
取消