0
我正在尝试获取row
和column
号码,该号码符合Pandas DataFrame中的三个条件。获取满足Pandas中多个条件的行和列号
我有0
一个数据帧,1
,-1
(大于1850
);当我尝试获取row
和column
时,需要永久获取输出。
以下是我一直在试图用一个例子:
import pandas as pd
import numpy as np
a = pd.DataFrame(np.random.randint(2, size=(1845,1850)))
b = pd.DataFrame(np.random.randint(2, size=(5,1850)))
b[b == 1] = -1
c = pd.concat([a,b], ignore_index=True)
column_positive = []
row_positive = []
column_negative = []
row_negative = []
column_zero = []
row_zero = []
for column in range(0, c.shape[0]):
for row in range(0, c.shape[1]):
if c.iloc[column, row] == 1:
column_positive.append(column)
row_positive.append(row)
elif c.iloc[column, row] == -1:
column_negative.append(column)
row_negative.append(row)
else:
column_zero.append(column)
row_zero.append(row)
我做了一些网络搜索,发现np.where()
做这样的事情,但我不知道该怎么做。
任何人都可以告诉更好的选择吗?
谢谢,@Divakar。我也认为你可以用'np.column_stack(np.where(c.values == 1))'来编辑答案。 – Akshay
@akshay或者简单地说:'np.argwhere(c_arr == 1)'等等。这是'np.argwhere'的第二种方法试图实现的。 – Divakar
真的,我的坏。不管怎么说,还是要谢谢你。 – Akshay