【问题标题】:PANDAS - Drop column based on value of cell in that columnPANDAS - 根据该列中单元格的值删除列
【发布时间】:2021-01-05 20:15:52
【问题描述】:

我有一个 CSV,我有兴趣删除 CSV 中每列中单元格的值等于 0 的所有列。所以我想删除“总保护 (间隙)”行。关于如何实现这一点的任何建议?

Out[7]: 
                            Unnamed: 0    0        1  ... 1585 1586 1587
0                      HCoV_HKU1_spike    -        -  ...    x    x    x
1                 Rat_CoV_Parker_spike    -        -  ...    x    x    x
2                  Mouse_CoV_MHV_spike    -        -  ...    x    x    x
3                  Rat_CoV_HKU24_spike    x        -  ...    x    x    x
4                            EquineCoV    -        -  ...    x    x    x
5                     Rabbit_CoV_spike    -        -  ...    x    x    x
6                      HCoV_OC43_spike    -        -  ...    x    x    x
7                            CanineCoV    -        -  ...    x    x    x
8                     Bovine_CoV_spike    -        -  ...    x    x    x
9                  Hedgehog_CoV3_spike    x        x  ...    x    x    x
10                 Hedgehog_CoV2_spike    x        x  ...    x    x    x
11                 Hedgehog_CoV1_spike    x        x  ...    x    x    x
12                     HCoV_MERS_spike    x        x  ...    x    x    x
13        Tylonycteris_pachypus_BatCoV    x        x  ...    x    x    x
14             BCoV_Tylonycteris_spike    x        x  ...    x    x    x
15                   BCoV_SC2013_spike    -        -  ...    x    x    x
16                    BCoV_HKU25_spike    x        x  ...    x    x    x
17             BCoV_Pipistrellus_spike    x        x  ...    x    x    x
18                   BCoV_GD2013_spike    x        x  ...    x    x    x
19                BCoV_SARS_HKU3_spike    x        -  ...    x    x    x
20                  BCoV_HeB2013_spike    x        -  ...    x    x    x
21                   BCoV_YN2013_spike    -        -  ...    x    x    x
22                  BCoV_HuB2013_spike    -        -  ...    x    x    x
23          BCoV_SARS_like_WIV16_spike    -        -  ...    x    x    x
24                     HCoV_SARS_spike    -        -  ...    x    x    x
25           Civet_CoV_SARS_2004_spike    -        -  ...    x    x    x
26                     BCoV_BM48_spike    x        -  ...    x    x    x
27                  Pangolin_CoV_spike    -        -  ...    x    x    x
28                    HCoV_SARS2_spike    -        -  ...    x    x    x
29                   BCoV_RatG13_spike    -        -  ...    x    x    x
30                                 NaN  NaN      NaN  ...  NaN  NaN  NaN
31   SARS-Clade Conservation (gap inc)    0        0  ...    0    0    0
32   MERS-Clade Conservation (gap inc)    0        0  ...    0    0    0
33   OC43-Clade Conservation (gap inc)    0        0  ...    0    0    0
34                                 NaN  NaN      NaN  ...  NaN  NaN  NaN
35  SARS-Clade Conservation (ungapped)    0  #DIV/0!  ...    0    0    0
36  SARS-Clade Conservation (ungapped)    0        0  ...    0    0    0
37  SARS-Clade Conservation (ungapped)    0  #DIV/0!  ...    0    0    0
38                                 NaN  NaN      NaN  ...  NaN  NaN  NaN
39         Total Conservation (Gapped)    0        0  ...    0    0    0
40       Total Conservation (Ungapped)    0        0  ...    0    0    0

[41 rows x 1589 columns]

【问题讨论】:

  • 您好!欢迎来到堆栈溢出。请编辑您的问题并添加您想要的输出。但是,您似乎在错误的方向上使用了数据框?通常,您有很多行和几列,反之亦然。

标签: python pandas dataframe


【解决方案1】:

首先,您的数据框很乱,请研究如何“整理”您的数据框(将整个第一行转换为列,然后您可以只选择总保护列_但对于您凌乱的数据框,请尝试使用.loc:

df2 = df.loc[(df['first column'] == 'Total Conservation (Gapped)') & (df['other interested rows'] != 0)]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-20
    • 2013-12-07
    • 1970-01-01
    • 2021-06-17
    • 1970-01-01
    • 2013-08-12
    • 1970-01-01
    相关资源
    最近更新 更多