熊猫:如何查找其单元格值与某个值匹配的一列的值索引

时间:2019-05-20 19:42:52

标签: python pandas

我的数据框由下表组成:

variables

我的目标是找到对应于某个数字(例如:9)的Y值的索引,并从表格中返回相应的X值。

我以前的想法是让Time X Y 0100 5 9 0200 7 10 0300 11 12 0400 3 13 0500 4 14 循环(因为我有多个Y)循环遍历并找到所有匹配的值,然后创建一个空数组来存储X的值:

for

问题是(如果我的新手对Pandas的理解成立),for i in (list of Ys): empty_storing_array.append(df[index_of_X].loc[df[Y] == i]) 给出的值不是数字,而是其他数字。我应该如何做才能使loc列出与数组Y中的值相对应的X的数字?

3 个答案:

答案 0 :(得分:1)

您可以使用df.loc,然后明确要求索引。这将返回一个数组,因此我们对第一个项目进行切片以获得整数:

df.loc[df['Y']==9, 'X'].index.values[0]

答案 1 :(得分:1)

尝试一下:

browser.identity.launchWebAuthFlow

isin method告诉DataFrame中的每个元素是否包含在值中。

如果要将结果数据帧转换为数组

list_Ys = [9,8,15] #example

new_df = df[df['Y'].isin(list_Ys)]['X']

答案 2 :(得分:0)

如果您需要一种方法来检索哪个Y对应于给定的X,则同时保留X和Y:

df.loc[df['Y'].isin(list_of_ys), ['Y', 'X']].values

也许创建一个字典,将与Y对应的所有X放入一个元组,然后将Y用作键。