按列中的值筛选多标头DataFrame中的行

2024-09-30 18:14:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在构建一个Python脚本来执行以下操作:

  1. 在目录中列出CSV

  2. 将单个CSV文件读取到DataFrame->;“data”(行2(参数名称)和3(参数单位)定义为标题)。

  3. 仅当列“TMOD1”、“TMOD2”、“TMOD3”和“TMOD4”中的值为0时才保留行(如果其中一列不是0,则整行都必须删除)

  4. 删除单位为“bit”的所有列(->;参数)

  5. 删除所有大于10个“NaN”值的行

  6. 将过滤后的数据帧“data”附加到DataFrame“result”

  7. 对所有CSV文件重复步骤2-7

  8. 将生成的数据帧“result”另存为新的CSV文件

我被困在如何实施第3步和第4步,其他一切都很好。在

我尝试了以下步骤3:

data = data[(data.TMOD1 == 0) & (data.TMOD2 == 0) & (data.TMOD3 == 0) & (data.TMOD4 == 0)]

步骤4:

^{pr2}$

当省略步骤3并使用多标题行数据帧时,步骤4工作得非常好。在

然而,步骤3只在切换到单头行DataFrame时有效——在这种情况下,步骤4显然不起作用。在

我想我打错了正确的标题级别。在


Tags: 文件csv数据gt标题dataframedata参数
1条回答
网友
1楼 · 发布于 2024-09-30 18:14:50
data = data[(data['TMOD1']['bit'] == 0) & (data['TMOD2']['bit'] == 0) & (data['TMOD3']['bit'] == 0) & (data['TMOD4']['bit'] == 0)]

似乎有用。不知道为什么我昨天试的时候没有。在

是否有可能将第二个标签(“位”)留空?标签有时在原始数据中有所不同(例如“位”、“位”或“无单位”)。在

相关问题 更多 >