Python: pandas.DataFrame如何移除所有空白列?pandas.isna( df_raw[0] ).tolist() ; df_drop0 = df_raw.drop(nanIdx,axis=0).reset_index(drop=True)

加入好友
加入社群
Python: pandas.DataFrame如何移除所有空白列?pandas.isna( df_raw[0] ).tolist() ; df_drop0 = df_raw.drop(nanIdx,axis=0).reset_index(drop=True) - 儲蓄保險王

csv檔請參考前篇:

pandas.DataFrame如何移除所有空白列?

用 is np.na 做判斷式

官網建議pandas.isna()

本篇改用isna()重做

官網說明 pandas.DataFrame.drop() 

DataFrame.drop(labels=None, *, axis=0,

index=None, columns=None,

level=None, inplace=False, errors=’raise’)

Python: pandas.DataFrame如何移除所有空白列?pandas.isna( df_raw[0] ).tolist() ; df_drop0 = df_raw.drop(nanIdx,axis=0).reset_index(drop=True) - 儲蓄保險王

 

fpath = r”C:\antenna_AMS\21046\emt2csv\01\01test.csv”
import pandas as pd
df_raw = pd.read_csv(fpath,header=None)

boolLst= list( pd.isna( df_raw[0] ) )
print(boolLst)

boolLst1 =pd.isna( df_raw[0] ).tolist()
print(boolLst1) #5,8列同效

#df_raw[0]只要一個[],若使用[[]],

#外觀一樣但型態會變成DataFrame

#tolist()會失敗,list()也會變成[0]

Python: pandas.DataFrame如何移除所有空白列?pandas.isna( df_raw[0] ).tolist() ; df_drop0 = df_raw.drop(nanIdx,axis=0).reset_index(drop=True) - 儲蓄保險王

#df_raw[0]: 14列,第4,9列為NaN

nanIdx = []
for i in range(len(boolLst)):
    if boolLst[i] == True: nanIdx.append(i)
print(“NaN index:”,nanIdx)
df_drop0 = df_raw.drop(nanIdx,axis=0)

#df_drop0 = df_raw.drop(nanIdx,axis=0).reset_index(drop=True)

#reset_index(drop=True) ,

#可以重置index,並將原index刪除
print(df_drop0)

Python: pandas.DataFrame如何移除所有空白列?pandas.isna( df_raw[0] ).tolist() ; df_drop0 = df_raw.drop(nanIdx,axis=0).reset_index(drop=True) - 儲蓄保險王

輸出結果:

Python: pandas.DataFrame如何移除所有空白列?pandas.isna( df_raw[0] ).tolist() ; df_drop0 = df_raw.drop(nanIdx,axis=0).reset_index(drop=True) - 儲蓄保險王

推薦hahow線上學習python: https://igrape.net/30afN

加入好友
加入社群
Python: pandas.DataFrame如何移除所有空白列?pandas.isna( df_raw[0] ).tolist() ; df_drop0 = df_raw.drop(nanIdx,axis=0).reset_index(drop=True) - 儲蓄保險王

儲蓄保險王

儲蓄險是板主最喜愛的儲蓄工具,最喜愛的投資理財工具則是ETF,最喜愛的省錢工具則是信用卡

You may also like...

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *