Python: pandas.DataFrame如何移除所有空白列?if df_raw.iloc[r,0] is np.nan: nanLst.append(r) ; df_drop0 = df_raw.drop(nanLst,axis=0) ; pandas.isna() ;df_drop0 = df_raw.drop(nanLst,axis=0).reset_index(drop=True)

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

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

csv內容如下:

Python: pandas.DataFrame如何移除所有空白列?if df_raw.iloc[r,0] is np.nan: nanLst.append(r) ; df_drop0 = df_raw.drop(nanLst,axis=0) ; pandas.isna() ;df_drop0 = df_raw.drop(nanLst,axis=0).reset_index(drop=True) - 儲蓄保險王

有兩列為空白

直接用pandas.read_csv()

讀進來的DataFrame長什麼樣子?

Python: pandas.DataFrame如何移除所有空白列?if df_raw.iloc[r,0] is np.nan: nanLst.append(r) ; df_drop0 = df_raw.drop(nanLst,axis=0) ; pandas.isna() ;df_drop0 = df_raw.drop(nanLst,axis=0).reset_index(drop=True) - 儲蓄保險王

共有14列,第4, 9列,

內容為NaN (Not a Number)

 

前面有import numpy as np

看以下判斷式:

Python: pandas.DataFrame如何移除所有空白列?if df_raw.iloc[r,0] is np.nan: nanLst.append(r) ; df_drop0 = df_raw.drop(nanLst,axis=0) ; pandas.isna() ;df_drop0 = df_raw.drop(nanLst,axis=0).reset_index(drop=True) - 儲蓄保險王

判斷式需要使用is

不可使用==

(用這個方法不好,請見csdn的討論 ,

最好用pandas.isna()處理)

 

再看下一段程式碼: 

Python: pandas.DataFrame如何移除所有空白列?if df_raw.iloc[r,0] is np.nan: nanLst.append(r) ; df_drop0 = df_raw.drop(nanLst,axis=0) ; pandas.isna() ;df_drop0 = df_raw.drop(nanLst,axis=0).reset_index(drop=True) - 儲蓄保險王

nanLst內含兩個元素4,9

為空列的index

 

df_drop0 = df_raw.drop(nanLst,axis=0)

axis=0移除列,axis=1移除欄

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

nanLst=[]
for r in range(len(df_raw)):
    #print(r)
    if df_raw.iloc[r,0] is np.nan:
        nanLst.append(r)
#本篇是直接用pandas讀取csv檔
#如果從csv.reader()讀進csv檔,轉為2D list
#2D list再轉為DataFrame,也可能用  == ” 做判斷
#print(nanLst)
df_drop0 = df_raw.drop(nanLst,axis=0)

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

#reset_index(drop=True) ,

#可以重置index,並將原index刪除

Python: pandas.DataFrame如何移除所有空白列?if df_raw.iloc[r,0] is np.nan: nanLst.append(r) ; df_drop0 = df_raw.drop(nanLst,axis=0) ; pandas.isna() ;df_drop0 = df_raw.drop(nanLst,axis=0).reset_index(drop=True) - 儲蓄保險王

df_drop0 已移除所有空列

下一篇用pandas.isna()處理

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

 

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

儲蓄保險王

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

You may also like...

發佈留言

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