从具有多级标题的数据框中删除行

尼克

我有一个具有2个级别的标头的excel文件,并将其读入python这样:

data = pd.read_excel('file.xlsx', header = [0,1])

接下来,我只想选择“类型”列不是2的行。这应该很简单,我使用了

data2 = data[data['type'] != 2]

昨天,这有效。今天,我得到一个充满NaN的数据框,其中仍然包含类型= 2的行。它没有给我一个错误。因为它是多级标题,是否会出现此问题?“类型”在第一行,第二行没有级别。例:

name  type   x
             a    b  c
A      1     4    3  7
B      2     2    6  1 

有什么建议?

print (data.columns) 

给我:

MultiIndex(levels=[[1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 'TBvol', 'breastvol', 'clipno', 'cliptype', 'interval', 'lat', 'markerno', 'nCT', 'type', 'xTB', 'yTB', 'zTB'], ['Unnamed: 0_level_1', 'Unnamed: 10_level_1', 'Unnamed: 11_level_1', 'Unnamed: 1_level_1', 'Unnamed: 2_level_1', 'Unnamed: 3_level_1', 'Unnamed: 4_level_1', 'Unnamed: 5_level_1', 'Unnamed: 6_level_1', 'Unnamed: 7_level_1', 'Unnamed: 8_level_1', 'Unnamed: 9_level_1', 'fx', 'fy', 'fz', 'px', 'py', 'pz']],
           labels=[[15, 14, 13, 17, 16, 12, 11, 20, 21, 22, 18, 19, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10], [0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 1, 2, 15, 16, 17, 15, 16, 17, 15, 16, 17, 15, 16, 17, 15, 16, 17, 15, 16, 17, 15, 16, 17, 15, 16, 17, 15, 16, 17, 15, 16, 17, 15, 16, 17, 12, 13, 14, 12, 13, 14, 12, 13, 14, 12, 13, 14, 12, 13, 14, 12, 13, 14, 12, 13, 14, 12, 13, 14, 12, 13, 14, 12, 13, 14, 12, 13, 14]],
           names=[None, 'PID'])
耶斯列尔

问题是,如果选择type列,而不是一个列,而是多个- DataFrame

您可以看到它,例如是否选择了样本数据进行测试x-它是第一层的值,并返回所有列,例如:

print (data)
  name type  x      
             a  b  c
0    A    1  4  3  7
1    B    2  2  6  1


print (data['x'])
   a  b  c
0  4  3  7
1  2  6  1

所以可能的解决方案是通过元组选择的,例如:

print (data[('x', 'a')])
0    4
1    2
Name: (x, a), dtype: int64

因此,您需要:

data2 = data[data[('type', 'second_level_value')] != 2]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从具有布尔值的数据框中删除行

来自分类Dev

如何删除熊猫数据框中具有重复的行?

来自分类Dev

删除具有多列的数据框中的重复行

来自分类Dev

具有多级列的pandas数据框中的数据透视表

来自分类Dev

如何在具有现有列的数据框中设置多级索引

来自分类Dev

熊猫数据框删除具有相同值的数据行

来自分类Dev

从数据框中删除在特定列中上方或下方的行具有相同值的行

来自分类Dev

删除数据框(R)所有列中具有重复值的行

来自分类Dev

R根据条件从数据框中删除具有特定ID的所有行

来自分类Dev

从pyspark数据框中删除具有相同值但在不同列中的重复行

来自分类Dev

如何从R中具有重复的开始和结束日期的数据框中删除行

来自分类Dev

删除数据框中在多列中具有相同值的行

来自分类常见问题

如何基于具有连续相同值的列事件删除数据框中的行

来自分类Dev

删除数据框中具有任意行数的最后N行

来自分类Dev

在python 3.4.1中删除具有字符串值的熊猫数据框的行

来自分类Dev

如何基于具有连续相同值的列事件删除数据框中的行

来自分类Dev

删除多索引数据框中具有重复索引的行

来自分类Dev

根据具有列表值的多列删除数据框中的重复行

来自分类Dev

我如何从数据框中删除具有重复/重复索引的行

来自分类Dev

如何从熊猫数据框中删除具有特定属性值的行的分数

来自分类Dev

删除具有特定日期时间值的 Pandas 数据框中的某些行

来自分类Dev

我可以从具有0行0列的数据框中创建R中具有1行11列的小标题吗?

来自分类Dev

用Matplotlib绘制多级标题数据框

来自分类Dev

在数据框单元格中查找特定值,并打印具有该值的匹配列的行标题

来自分类Dev

将具有某些值的行保留在数据框中,并删除所有其他行[R]

来自分类Dev

从具有多个索引的Pandas数据框中删除列

来自分类Dev

删除熊猫数据框中具有多个关联的条目?

来自分类Dev

从熊猫数据框中删除标题列

来自分类Dev

R / dplyr:删除导入的csv数据框中仅具有NA条目的所有行

Related 相关文章

  1. 1

    从具有布尔值的数据框中删除行

  2. 2

    如何删除熊猫数据框中具有重复的行?

  3. 3

    删除具有多列的数据框中的重复行

  4. 4

    具有多级列的pandas数据框中的数据透视表

  5. 5

    如何在具有现有列的数据框中设置多级索引

  6. 6

    熊猫数据框删除具有相同值的数据行

  7. 7

    从数据框中删除在特定列中上方或下方的行具有相同值的行

  8. 8

    删除数据框(R)所有列中具有重复值的行

  9. 9

    R根据条件从数据框中删除具有特定ID的所有行

  10. 10

    从pyspark数据框中删除具有相同值但在不同列中的重复行

  11. 11

    如何从R中具有重复的开始和结束日期的数据框中删除行

  12. 12

    删除数据框中在多列中具有相同值的行

  13. 13

    如何基于具有连续相同值的列事件删除数据框中的行

  14. 14

    删除数据框中具有任意行数的最后N行

  15. 15

    在python 3.4.1中删除具有字符串值的熊猫数据框的行

  16. 16

    如何基于具有连续相同值的列事件删除数据框中的行

  17. 17

    删除多索引数据框中具有重复索引的行

  18. 18

    根据具有列表值的多列删除数据框中的重复行

  19. 19

    我如何从数据框中删除具有重复/重复索引的行

  20. 20

    如何从熊猫数据框中删除具有特定属性值的行的分数

  21. 21

    删除具有特定日期时间值的 Pandas 数据框中的某些行

  22. 22

    我可以从具有0行0列的数据框中创建R中具有1行11列的小标题吗?

  23. 23

    用Matplotlib绘制多级标题数据框

  24. 24

    在数据框单元格中查找特定值,并打印具有该值的匹配列的行标题

  25. 25

    将具有某些值的行保留在数据框中,并删除所有其他行[R]

  26. 26

    从具有多个索引的Pandas数据框中删除列

  27. 27

    删除熊猫数据框中具有多个关联的条目?

  28. 28

    从熊猫数据框中删除标题列

  29. 29

    R / dplyr:删除导入的csv数据框中仅具有NA条目的所有行

热门标签

归档