根据 .csv 文件的条件选择行
Selecting a row based on conditions on .csv file
我正在尝试 select 基于 .csv 文件中特定条件的行。
如图所示。我有一个包含 table 的 .csv 文件。在最后一行,“raw_flow_rate”和“avg_flow_rate”是相同的。我正在 select 使用这行代码处理该行。
select_data = New_data[New_data["raw_flow_rate"] == New_data["avg_flow_rate"]]
而且效果很好。但我的目标是 select selected 的前一行。在这种情况下,索引号为 4。我已尝试将 ID 列简单地 select 基于 (ID-1) 操作的前一行。
storeID = select_data["ID"] - 1
final_data = New_data[New16_data["ID"] == storeID]
但这给出了错误 can only compare identically-labeled series objects
有没有什么简单的方法可以select从满足条件的那一行转到上一行?我正在使用 Pandas 来处理 .csv 文件。文件很大,所以最好使用更简单的方法。谢谢
因为New_data["raw_flow_rate"] == New_data["avg_flow_rate"]
是掩码,你可以将掩码向上移动一位:
select_data = New_data[(New_data["raw_flow_rate"] == New_data["avg_flow_rate"]).shift(-1).fillna(False)]
我正在尝试 select 基于 .csv 文件中特定条件的行。
如图所示。我有一个包含 table 的 .csv 文件。在最后一行,“raw_flow_rate”和“avg_flow_rate”是相同的。我正在 select 使用这行代码处理该行。
select_data = New_data[New_data["raw_flow_rate"] == New_data["avg_flow_rate"]]
而且效果很好。但我的目标是 select selected 的前一行。在这种情况下,索引号为 4。我已尝试将 ID 列简单地 select 基于 (ID-1) 操作的前一行。
storeID = select_data["ID"] - 1
final_data = New_data[New16_data["ID"] == storeID]
但这给出了错误 can only compare identically-labeled series objects
有没有什么简单的方法可以select从满足条件的那一行转到上一行?我正在使用 Pandas 来处理 .csv 文件。文件很大,所以最好使用更简单的方法。谢谢
因为New_data["raw_flow_rate"] == New_data["avg_flow_rate"]
是掩码,你可以将掩码向上移动一位:
select_data = New_data[(New_data["raw_flow_rate"] == New_data["avg_flow_rate"]).shift(-1).fillna(False)]