[英]Pandas drop columns based on column name AND content
我有一個這樣的數據框:
df = pd.DataFrame([[1,2,np.nan,np.nan,5],[3,4,np.nan,np.nan,6]],columns=['a','b','c','Unnamed: 4','Unnamed: 5'])
df
Out[16]:
a b c Unnamed: 4 Unnamed: 5
0 1 2 NaN NaN 5
1 3 4 NaN NaN 6
我想刪除全部都是nan並且名稱中帶有“ Unnamed:”的列(從文件中導入數據框時,標題中沒有名稱的列經常會發生這種情況)。 所需的輸出:
a b c Unnamed: 5
0 1 2 NaN 5
1 3 4 NaN 6
我可以:
df[[col for col in df.columns if 'Unnamed: ' not in col]]
Out[18]:
a b c
0 1 2 NaN
1 3 4 NaN
要么:
df.dropna(how='all',axis=1)
Out[19]:
a b Unnamed: 5
0 1 2 5
1 3 4 6
是否有一種pythonic的方式同時完成這兩項操作(通過AND而不是OR連接)?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.