我有一个 DataFrame,我想删除它的最后一列。到现在为止,我一直在删除我认为是最后一列的内容
如果 len(fish_frame.columns) == 4:
删除 fish_frame[3]
。
然而,就在该命令之前,我删除了所有 NaN
列。这样就删除了 [3]
列,因为它充满了 NaN
,所以它失败了。
我想说的是只删除整个 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
关于python - Pandas - 删除 DataFrame 的最后一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45196965/