删除符合一定条件的若干行数据

关键:

#删除month字段中内容是'1/','2/','6/','7/','8/','9/','10','11','12'的行 
data=data[~(data['month'].isin(['1/','2/','6/','7/','8/','9/','10','11','12']))]
#仅删除字段名为month的一整列数据
data=data.drop(['month'],axis=1)
import pandas as pd
import numpy as np

#导入数据
#data = pd.read_csv('D:\\work\\RS\\test\\20200927\\分季节训练数据数据\\output(12120).csv')
#data = pd.read_csv('D:\\work\\RS\\test\\20200927\\分季节训练数据数据\\output_cnn(12120).csv')
#data = pd.read_csv('D:\\work\\RS\\test\\20200927\\分季节训练数据数据\\output_cnnlstm(12120).csv')
data = pd.read_csv('D:\\work\\RS\\test\\20200927\\分季节训练数据数据\\output_lstm(12120).csv')
#筛选季节
data=data[~(data['month'].isin(['1/','2/','6/','7/','8/','9/','10','11','12']))]#春
#data=data[~(data['month'].isin(['1/','2/','3/','4/','5/','9/','10','11','12']))]#夏
#data=data[~(data['month'].isin(['1/','2/','3/','4/','5/','6/','7/','8/','12']))]#秋
#data=data[~(data['month'].isin(['3/','4/','5/','6/','7/','8/','9/','10','11']))]#冬
data=data.drop(['month'],axis=1)
#保存结果
#data.to_csv('D:\\work\\RS\\test\\20200927\\分季节训练数据数据\\output(12120)春.csv',index=False)
#data.to_csv('D:\\work\\RS\\test\\20200927\\分季节训练数据数据\\output(12120)夏.csv',index=False)
#data.to_csv('D:\\work\\RS\\test\\20200927\\分季节训练数据数据\\output(12120)秋.csv',index=False)
#data.to_csv('D:\\work\\RS\\test\\20200927\\分季节训练数据数据\\output(12120)冬.csv',index=False)

#data.to_csv('D:\\work\\RS\\test\\20200927\\分季节训练数据数据\\output_cnn(12120)春.csv',index=False)
#data.to_csv('D:\\work\\RS\\test\\20200927\\分季节训练数据数据\\output_cnn(12120)夏.csv',index=False)
#data.to_csv('D:\\work\\RS\\test\\20200927\\分季节训练数据数据\\output_cnn(12120)秋.csv',index=False)
#data.to_csv('D:\\work\\RS\\test\\20200927\\分季节训练数据数据\\output_cnn(12120)冬.csv',index=False)

#data.to_csv('D:\\work\\RS\\test\\20200927\\分季节训练数据数据\\output_cnnlstm(12120)春.csv',index=False)
# #data.to_csv('D:\\work\\RS\\test\\20200927\\分季节训练数据数据\\output_cnnlstm(12120)夏.csv',index=False)
# #data.to_csv('D:\\work\\RS\\test\\20200927\\分季节训练数据数据\\output_cnnlstm(12120)秋.csv',index=False)
# # data.to_csv('D:\\work\\RS\\test\\20200927\\分季节训练数据数据\\output_cnnlstm(12120)冬.csv',index=False)

data.to_csv('D:\\work\\RS\\test\\20200927\\分季节训练数据数据\\output_lstm(12120)春.csv',index=False)
#data.to_csv('D:\\work\\RS\\test\\20200927\\分季节训练数据数据\\output_lstm(12120)夏.csv',index=False)
#data.to_csv('D:\\work\\RS\\test\\20200927\\分季节训练数据数据\\output_lstm(12120)秋.csv',index=False)
#data.to_csv('D:\\work\\RS\\test\\20200927\\分季节训练数据数据\\output_lstm(12120)冬.csv',index=False)

参考:https://www.cnblogs.com/dataAnalysis/p/9487774.html

### 使用 NumPy 删除矩阵中指定的多行 NumPy 提供了 `numpy.delete()` 函数来实现删除操作。该函数可以基于索引删除数组中的特定行或列。以下是具体方法: #### 代码示例 ```python import numpy as np def delete_multiple_rows(): """ 删除 NumPy 数组中的多个指定行。 """ # 创建一个示例二维数组 source = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) # 要删除的行索引列表 rows_to_delete = [1, 3] # 执行删除操作 result = np.delete(source, rows_to_delete, axis=0) return result # 输出结果 result_array = delete_multiple_rows() print(result_array) ``` 上述代码展示了如何通过 `np.delete` 方法删除指定的多行[^1]。 - 参数说明: - `source`: 原始输入数组。 - `rows_to_delete`: 需要删除的行号组成的列表。 - `axis=0`: 表明沿行方向执行删除操作。 运行此代码后,原始数组中的第 1 和第 3 行会被成功移除,最终返回的结果如下所示: ``` [[1 2 3] [7 8 9]] ``` 此外,在实际应用中也可以动态计算需要删除的行号。例如,可以通过布尔条件筛选出满足某条件的行并将其索引传递给 `np.delete` 函数[^2]。 --- #### 动态删除符合条件的行 如果希望根据某种逻辑判断哪些行应该被删除,则可结合 `np.where` 或其他条件表达式完成这一目标。以下是一个例子: ```python import numpy as np def remove_by_condition(): """ 根据条件删除某些行。 """ data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) # 条件:保留所有第一列小于等于 5 的行 condition = data[:, 0] <= 5 # 获取不符合条件的行索引 indices_to_remove = np.where(~condition)[0] # 删除这些行 cleaned_data = np.delete(data, indices_to_remove, axis=0) return cleaned_data cleaned_result = remove_by_condition() print(cleaned_result) ``` 在此案例中,我们定义了一条规则——仅当每行的第一个元素大于 5 时才予以保留;其余部分则交由 `~condition` 计算得出,并进一步调用 `np.where` 得到对应索引集合[^3]。 --- #### 注意事项 尽管 `numpy.delete` 是一种非常便捷的方式处理此类需求,但在大规模数据集上频繁调用可能会带来性能开销。因此对于超大型矩阵建议考虑更高效的替代方案或者优化现有算法结构[^5]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值