csv檔請參考前篇:
用 is np.nan 做判斷式
本篇改用isna()重做
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) - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/12/20221206184635_4.png)
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) - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/12/20221206190216_50.png)
#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) - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/12/20221206185348_86.png)
輸出結果:
![Python: pandas.DataFrame如何移除所有空白列?pandas.isna( df_raw[0] ).tolist() ; df_drop0 = df_raw.drop(nanIdx,axis=0).reset_index(drop=True) - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/12/20221206185455_72.png)
推薦hahow線上學習python: https://igrape.net/30afN



![Python: 如何使用 os.environ[“PATH”] 設定環境變數?與 sys.path.append() 差別為何? Python: 如何使用 os.environ[“PATH”] 設定環境變數?與 sys.path.append() 差別為何?](https://i2.wp.com/savingking.com.tw/wp-content/uploads/2024/09/20240905135312_0_890fa1.png?quality=90&zoom=2&ssl=1&resize=350%2C233)






近期留言