python - 关于 Python Pandas,删除行
问题描述
全部。
我创建了导入 excel 文件的 Python 代码,如果它符合条件,则使用“while”和“if”状态删除原始代码。完成比较后,导出一个excel文件作为结果。没有错误编码,但删除 raw 不起作用,因为当我打开结果 excel 文件时,它与导入的 excel 文件完全相同。我认为“data.drop(data.index[pointer+a])”不起作用。你能帮帮我吗?
import pandas as pd
data = pd.read_excel('20190924_1147-50_result.xlsx', index_col = 0)
print('\nExcel file reading complete')
a = 1
pointer = 0
del_indicator = 0
data = data.drop_duplicates(['Src IP', 'Dst IP', 'Dst Port'], keep='first')
print('SrcIP, DstIP, Dst Port are Deduplicated\n')
while True:
if pointer == 2906 :
print(pointer, data.iloc[pointer, 3])
break
elif pointer+a == 2906 :
pointer +=1
a = 1
elif data.iloc[pointer, 2] == data.iloc[pointer+a, 3] and data.iloc[pointer, 3] == data.iloc[pointer+a, 2] and data.iloc[pointer, 6] == data.iloc[pointer+a, 5]:
print('\n-----', data.iloc[pointer, 0], data.iloc[pointer, 2], data.iloc[pointer, 3])
print('-----', data.iloc[pointer+a, 0], data.iloc[pointer+a, 2], data.iloc[pointer+a, 3])
data.drop(data.index[pointer+a])
a+=1
else:
a+=1
print('Deleting session traffic Finished')
data.to_excel('20190924_1147-50_result_test.xlsx', sheet_name = 'Using data')
print('Finished creating result excel file')
解决方案
尝试做以下小改动
data.drop(data.index[pointer+a], inplace=True) # add inplace
# or another solution data = data.drop(data.index[pointer+a])
在我看来,您没有保存对数据的更改。
推荐阅读
- dolphindb - 如何从 DolphinDB 数据库 SQL 查询中的小表中提取信息
- java - 使用 Spring Boot 2 实现 OAuth 的 JPA TokenStore 实现
- java - 如何分离业务逻辑和指标日志?
- dart - 如何在 Flutter SDK 中使用 SVG 或 Vector Drawable
- c# - 当特定字符出现在网格视图中时,下划线单元格值
- javascript - 找不到入口模块:错误:无法解析“./src”
- python - 基于其他数据框 Python 估算 NaN 值
- .net - 无法浏览到以前经过身份验证的页面
- android - Anko doAsync 在首次启动应用程序时未触发
- apache-spark - Datastax火花过滤器数据非常慢