![](/img/trans.png)
[英]Python/Pandas - Remove the first row with Unnamed: 0,Unnamed: 1,Unnamed: 2,Unnamed: 3,Unnamed: 4,Unnamed: 5,Unnamed: 6,Unnamed: 7
[英]Delete row from a column that is unnamed or blank using pandas
我有一個數據框 df,我想在其中使用 Pandas 從未命名或空白的列中刪除一行。 我想刪除包含“id”的行
數據
a b c
date 21 22 23
id
aa 2 3 4
bb 1 2 3
cc 5 5 5
想要的
a b c
date 21 22 23
aa 2 3 4
bb 1 2 3
cc 5 5 5
正在做
df[df[""].str.contains("id")==False]
或者
df.drop(1)
但是,該操作沒有執行,我沒有得到想要的結果。 我正在積極研究這個。 任何建議表示贊賞
使用dropna
:
>>> df.dropna(how='all', axis=0)
a b c
date 21.0 22.0 23.0
aa 2.0 3.0 4.0
bb 1.0 2.0 3.0
cc 5.0 5.0 5.0
更新
如果第一列不是索引而是一個空名稱的真實列,也許你應該使用這個版本:
>>> df[df.loc[:, df.columns.str.len().astype(bool)].notna().any(axis=1)]
a b c
0 date 21.0 22.0 23.0
2 aa 2.0 3.0 4.0
3 bb 1.0 2.0 3.0
4 cc 5.0 5.0 5.0
或者更簡單,如果您的未命名列是第一個:
>>> df[df.iloc[:, 1:].notna().any(axis=1)]
a b c
0 date 21.0 22.0 23.0
2 aa 2.0 3.0 4.0
3 bb 1.0 2.0 3.0
4 cc 5.0 5.0 5.0
無論如何,您有一排空間。 出路是查詢 df 以獲取此類行並將其過濾掉。 空格,表示一個數據類型object
。 我會
df.where((df!=' ')).dropna()
a b c
date 21.0 22.0 23.0
aa 2.0 3.0 4.0
bb 1.0 2.0 3.0
cc 5.0 5.0 5.0
運行此命令,它將刪除包含任何空值的所有列
data = data.dropna()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.