我的数据框由下表组成:
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的数字?
答案 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用作键。