Cómo asignar columnas mientras se ignora la alineación del índice

Digamos que tengo dos marcos de datos x e y en Pandas, me gustaría completar una columna en x con el resultado de clasificar una columna en y . Intenté esto:

 x['foo'] = y['bar'].order(ascending=False) 

pero no funcionó, sospecho que Pandas alinea los índices entre x e y (que tienen el mismo conjunto de índices) durante la asignación

¿Cómo puedo hacer que Pandas rellene la x['foo'] con otra columna de otro dataframe ignorando la alineación de los índices?

La forma más sencilla que se me ocurre para hacer que los pandas ignoren los índices es darle algo sin que se ignoren los índices. Empezando desde

 >>> x = pd.DataFrame({"foo": [10,20,30]},index=[1,2,0]) >>> y = pd.DataFrame({"bar": [33,11,22]},index=[0,1,2]) >>> x foo 1 10 2 20 0 30 >>> y bar 0 33 1 11 2 22 

Tenemos el enfoque alineado habitual:

 >>> x["foo"] = y["bar"].order(ascending=False) >>> x foo 1 11 2 22 0 33 

O uno no alineado, configurando x["foo"] en una lista:

 >>> x["foo"] = y["bar"].order(ascending=False).tolist() >>> x foo 1 33 2 22 0 11