我试图删除 Dataframe 中一列值为0的行,但我不知道如何删除
我开始的表格看起来像这样:
| a|B|c|d|e|
| --------------|--------------|--------------|--------------|--------------|
| 九十九点零八|0.0|0.0|0.0|0.0|
| 0.0 |九十五点八|0.0|0.0|0.0|
| 0.0 |0.0|九十七点八|0.0|0.0|
| 0.0 |0.0|九十六点七|0.0|0.0|
| 0.0 |0.0|0.0|九十八点九|0.0|
我使用pandas来处理一些分类数据。我使用pd.melt()来重塑它,所以以类似于一个热编码的方式编码的列没有问题,这让我得到了一个只有2列的数据框,正如我所希望的那样,但其中一列中有很多0。
融化后的表看起来像这样:
| 列1|col2|
| --------------|--------------|
| a|九十九点八|
| a|0.0|
| a|0.0|
| a|0.0|
| a|0.0|
| B|九十五点八|
| B|0.0|
| B|0.0|
| c|九十七点八|
| c|0.0|
| c|0.0|
| c|0.0|
| c|九十六点五|
| c|0.0|
| d|九十八点九|
我想去掉那些值,因为它们不给予信息,而且占用空间和资源
我已经尝试过what was suggested here,但它给出了一个索引错误,因为any()函数返回的数据长度与原始 Dataframe 的长度不同,据我所知。
我也试过the suggestion here,但它返回一个ValueError“cannot index with dimensional key”,因为我的df是2维的。
2条答案
按热度按时间irlmq6kh1#
如果你想在整形时删除不需要的值,
stack
是一个很好的选择,因为它默认会删除NaN。你只需要在堆叠之前mask
0
s:输出:
dldeef672#
如果需要,在熔化后删除
0
值: