用pandas删去csv表中数据,删除依据是当‘HPHM’相同的行中,“KKBH”的值为‘500011015000’的行的“GCSJ”的值小于‘KKBH’的值为‘500011012000’的行的‘GCSJ’的值时,删去所有此‘HPHM’的值所在的行
时间: 2023-09-29 16:10:16 浏览: 33
可以按照以下步骤使用 Pandas 进行删减:
1. 读取 CSV 文件为 Pandas DataFrame。
2. 按照 ‘HPHM’ 分组。
3. 对于每个 ‘HPHM’ 分组,筛选出 ‘KKBH’ 等于 ‘500011015000’ 的行,并记录下 ‘GCSJ’ 的最小值。
4. 筛选出 ‘KKBH’ 等于 ‘500011012000’ 的行,并记录下 ‘GCSJ’ 的最小值。
5. 对于每个 ‘HPHM’ 分组,筛选出 ‘GCSJ’ 小于 ‘500011012000’ 且大于等于 ‘500011015000’ 的行,并记录下所有行的 ‘GCSJ’ 值。
6. 如果 ‘GCSJ’ 小于 ‘500011015000’ 的最小值,则把此 ‘HPHM’ 所有行删去。
7. 将处理好的 DataFrame 写入 CSV 文件。
以下是代码实现:
```python
import pandas as pd
# 读取 CSV 文件为 Pandas DataFrame
df = pd.read_csv('data.csv')
# 按照 ‘HPHM’ 分组
grouped = df.groupby('HPHM')
# 遍历每个 ‘HPHM’ 分组
for _, group in grouped:
# 筛选出 ‘KKBH’ 等于 ‘500011015000’ 的行,并记录下 ‘GCSJ’ 的最小值
kkbh_1 = group.loc[group['KKBH'] == '500011015000', 'GCSJ'].min()
# 筛选出 ‘KKBH’ 等于 ‘500011012000’ 的行,并记录下 ‘GCSJ’ 的最小值
kkbh_2 = group.loc[group['KKBH'] == '500011012000', 'GCSJ'].min()
# 筛选出 ‘GCSJ’ 小于 ‘500011012000’ 且大于等于 ‘500011015000’ 的行,并记录下所有行的 ‘GCSJ’ 值
gcsj_list = group.loc[(group['KKBH'] == '500011015000') & (group['GCSJ'] >= kkbh_1) & (group['GCSJ'] < kkbh_2), 'GCSJ']
# 如果 ‘GCSJ’ 小于 ‘500011015000’ 的最小值,则把此 ‘HPHM’ 所有行删去
if not gcsj_list.empty and gcsj_list.min() < kkbh_1:
df.drop(group.index, inplace=True)
# 将处理好的 DataFrame 写入 CSV 文件
df.to_csv('new_data.csv', index=False)
```
注意:这段代码是基于题目中的描述进行实现的,但具体实现可能需要根据实际情况进行调整。同时,由于数据量较大,上述代码的执行时间可能会比较长。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)