[英]Pandas - drop last column of DataFrame
我有一个 DataFrame,我想删除它的最后一列。 直到现在,我才刚刚放弃了我认为是最后一栏的内容
if len(fish_frame.columns) == 4: del fish_frame[3]
。
然而,就在此命令之前,我删除了NaN
的所有列。 所以删除列[3]
因为它填充了NaN
s,所以它失败了。
我想说只是删除整个 DataFrame 的最后一列。 我觉得那会很完美。
我试过fish_frame([:-1], axis=1)
但这是无效的语法。
任何帮助将不胜感激谢谢。
数据框:
fish_frame after dropna:
0 1 2 4
0 #0721 NaN NaN NaN
1 GBE COD 746 $2.00 $1,492.00
2 GBW COD 13,894 $0.50 $6,947.00
3 GOM COD 60 $2.00 $120.00
4 GB WINTER FLOUNDER 94,158 $0.25 $23,539.50
5 GOM WINTER FLOUNDER 3,030 $0.50 $1,515.00
6 GBE HADDOCK 18,479 $0.02 $369.58
7 GOM HADDOCK 0 $0.02 $0.00
8 GBW HADDOCK 110,470 $0.02 $2,209.40
9 HAKE 259 $1.30 $336.70
10 PLAICE 3,738 $0.40 $1,495.20
11 POLLOCK 3,265 $0.02 $65.30
12 WITCH FLOUNDER 1,134 $1.30 $1,474.20
13 SNE YT 1,458 $0.65 $947.70
14 GB YT 4,499 $0.70 $3,149.30
15 REDFISH 841 $0.02 $16.82
16 54 DAS @ $8.00/DAY = 432.00 NaN NaN None
使用iloc
和列表索引
fish_frame = fish_frame.iloc[:, :-1]
0 1 2
0 #0721 NaN NaN
1 GBE COD 746 $2.00
2 GBW COD 13,894 $0.50
3 GOM COD 60 $2.00
4 GB WINTER FLOUNDER 94,158 $0.25
5 GOM WINTER FLOUNDER 3,030 $0.50
6 GBE HADDOCK 18,479 $0.02
7 GOM HADDOCK 0 $0.02
8 GBW HADDOCK 110,470 $0.02
9 HAKE 259 $1.30
10 PLAICE 3,738 $0.40
11 POLLOCK 3,265 $0.02
12 WITCH FLOUNDER 1,134 $1.30
13 SNE YT 1,458 $0.65
14 GB YT 4,499 $0.70
15 REDFISH 841 $0.02
16 54 DAS @ $8.00/DAY = 432.00 NaN NaN
如果你想删除最后一列
df = df.iloc[:,:-1]
如果需要删除特定列和索引
df = df.drop(df.columns[column_index],axis=1)
带列名
df = df.drop(['column_name'],axis =1)
希望它有帮助!
将 drop 与列索引一起使用:
fish_frame = fish_frame.drop(fish_frame.columns[-1],axis=1)
输出:
0 1 2
0 #0721 NaN NaN
1 GBE COD 746 $2.00
2 GBW COD 13,894 $0.50
3 GOM COD 60 $2.00
4 GB WINTER FLOUNDER 94,158 $0.25
5 GOM WINTER FLOUNDER 3,030 $0.50
6 GBE HADDOCK 18,479 $0.02
7 GOM HADDOCK 0 $0.02
8 GBW HADDOCK 110,470 $0.02
9 HAKE 259 $1.30
10 PLAICE 3,738 $0.40
11 POLLOCK 3,265 $0.02
12 WITCH FLOUNDER 1,134 $1.30
13 SNE YT 1,458 $0.65
14 GB YT 4,499 $0.70
15 REDFISH 841 $0.02
16 54 DAS @ $8.00/DAY = 432.00 NaN NaN
删除最后一列的另一种方法
df = df[df.columns[:-1]]
fish_frame.drop(fish_frame.columns[len(fish_frame.columns)-1], axis=1, inplace=True)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.