Python 3.x 如何在dataframe的列(numpy对象)中找到满足条件的索引?
我有一个数据框,其中包含Python 3.x 如何在dataframe的列(numpy对象)中找到满足条件的索引?,python-3.x,pandas,numpy,Python 3.x,Pandas,Numpy,我有一个数据框,其中包含numpy object列。数据如下: data 0 [1, 2, 2, 3, 4, 2] 1 [2, 4, 2, 5, 2, 3, 2] 2 [2, 2, 2, 8, 2, 3, 2, 9, 1] ... data index 0 [1, 2, 2, 3, 4, 2] [0,4] 1
numpy object
列。数据如下:
data
0 [1, 2, 2, 3, 4, 2]
1 [2, 4, 2, 5, 2, 3, 2]
2 [2, 2, 2, 8, 2, 3, 2, 9, 1]
...
data index
0 [1, 2, 2, 3, 4, 2] [0,4]
1 [2, 4, 2, 5, 2, 3, 2] [1,3]
2 [2, 2, 2, 8, 2, 3, 2, 9, 1] [3,7]
...
我想获取列中每个numpy的索引,以满足以下条件:(>(mean+std))或(我认为您需要:
df['index']=df['data'].map(lambda x:np.where(np.logical_或
.减少(((x>x.mean()+x.std()),
(x
对于验证解决方案:
df['index'] = df['data'].map(lambda x: ((x > x.mean() + x.std())))
df['index1'] = df['data'].map(lambda x: ((x < x.mean() - x.std())))
#https://stackoverflow.com/a/33375383/2901002
with pd.option_context('display.max_colwidth', 200):
print (df)
data \
0 [1, 2, 2, 3, 4, 2]
1 [2, 4, 2, 5, 2, 3, 2]
2 [2, 2, 2, 8, 2, 3, 2, 9, 1]
index \
0 [False, False, False, False, True, False]
1 [False, True, False, True, False, False, False]
2 [False, False, False, True, False, False, False, True, False]
index1
0 [True, False, False, False, False, False]
1 [False, False, False, False, False, False, False]
2 [False, False, False, False, False, False, False, False, False]
df['index']=df['data'].map(λx:((x>x.mean()+x.std()))
df['index1']=df['data'].map(λx:((x
The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
df['index'] = df['data'].map(lambda x: np.where(np.logical_or
.reduce(((x > x.mean() + x.std()),
(x < x.mean() - x.std()))))[0])
print (df)
data index
0 [1, 2, 2, 3, 4, 2] [0, 4]
1 [2, 4, 2, 5, 2, 3, 2] [1, 3]
2 [2, 2, 2, 8, 2, 3, 2, 9, 1] [3, 7]
df['index'] = df['data'].map(lambda x: ((x > x.mean() + x.std())))
df['index1'] = df['data'].map(lambda x: ((x < x.mean() - x.std())))
#https://stackoverflow.com/a/33375383/2901002
with pd.option_context('display.max_colwidth', 200):
print (df)
data \
0 [1, 2, 2, 3, 4, 2]
1 [2, 4, 2, 5, 2, 3, 2]
2 [2, 2, 2, 8, 2, 3, 2, 9, 1]
index \
0 [False, False, False, False, True, False]
1 [False, True, False, True, False, False, False]
2 [False, False, False, True, False, False, False, True, False]
index1
0 [True, False, False, False, False, False]
1 [False, False, False, False, False, False, False]
2 [False, False, False, False, False, False, False, False, False]