我有一个包含三列(from、to、w)的数据帧:
from to w
0 0 1 0.670820
1 0 5 0.612372
2 0 2 0.612372
3 0 3 0.577350
4 0 4 0.408248
如何根据给定的id从两列(from,to)中获取列表中的值?例如,在上面的示例中,对于给定的id 0,列表将是[1,5,2,3,4]。你知道吗
注意,id可能出现在from或两列中。在本例中,如果给定的id为1,则下面的预期列表将是[2,4,0,3,5]。你知道吗
from to w
0 1 2 0.730297
1 1 4 0.730297
2 0 1 0.670820
3 1 3 0.516398
4 1 5 0.365148
我迭代dataframe中的行以生成列表:
myarr =[]
for index, row in dftemp1.iterrows():
from_id = row['from']
to_id = row['to']
if (from_id!=target_id):
myarr.append(from_id)
if (to_id!=target_id):
myarr.append(to_id)
我想知道有没有更简单的方法来达到效果。任何帮助都将不胜感激。你知道吗
用你的第二个例子-
根据值是否等于您的ID,您可以
argsort
前两列中的值。你知道吗相关问题 更多 >
编程相关推荐