如何基于另一个数组中的值从初始数据中删除特定行?

问题描述 投票:0回答:2

我有一个数组形式的值[474]。我想在数据的第一列中搜索该值,然后删除该完整行,因此我的数据大小将减少1行。

import numpy as np
import io
from numpy import genfromtxt

data =io.StringIO("""
ID,1,2,3,4,5,6
5362,0.974,-0.404,-0.763,0.868,-0.5,0.16
485,-0.659,0.531,0.623,0.402,0.772,0.506
582,0.045,0.994,0.762,-0.036,0.117,-0.355
99,0.777,0.537,0.391,0.456,0.329,0.108
75,-0.44,0.522,0.856,-0.04,0.656,-0.935
474,0.357,0.81,0.135,0.389,0.055,0.224
594,-0.291,0.031,0.742,-0.332,0.815,0.983
597,0.968,-0.357,0.591,0.892,0.375,0.88
124,0.737,0.611,0.764,0.289,0.298,-0.705
635,0.883,0.96,-0.987,0.29,0.997,0.186
""")
data = genfromtxt(data, delimiter=',', skip_header=1, dtype=np.float64)
print(data)
diff = [474]
print (diff)
[474]

下面的行应从原始数组中删除。

474,0.357,0.81,0.135,0.389,0.055,0.224

python numpy
2个回答
0
投票

尝试这个:

data = genfromtxt(data, delimiter=',', skip_header=1, dtype=np.float64)
data = pd.DataFrame(data)
data[data[0] != 474]

0
投票
idx = np.where(data[:, 0] == 474)
cleaneddata = np.delete(data2, idx, 0)
© www.soinside.com 2019 - 2024. All rights reserved.