Я знаю, что W-B уже ответил на это очень элегантно.
Однако, поскольку я потратил время на решение этой проблемы менее профессионально, позвольте мне также опубликовать свое решение.
От:
Я ищу способ вычислить следующее: С помощью индекса df я могу посмотреть в столбце A2 для df2 значение B2, которое должно быть добавлено в df.
blockquote>Я понял, что должен сделать:
- получить форму списка индексов df. Итак, А, В, С ...
- посмотрите значения в df2 ['B2'] в том же индексе, что и df2 ['A2'] для каждого элемента индекса df
- , создайте новый столбец ['B2'] в df, куда мы копируем эти значения из df2 ['B2'], совпадающие с индексом из df для элементов в df2 ['A2']
Это мой код:
import pandas as pd d = {'A': [1, 1, 0, 1, 0, 1, 0], 'B': [0, 0, 0, 0, 0, 1, 1] } df = pd.DataFrame(data=d, index=["A", "B", "C", "D", "E", "F", "G"]) print(df) d = {'A2': ["D", "A", "A", "B", "C", "C", "E", "X", "F", "G"], 'B2': ["DD", "AA", "AA", "BB", "CC", "CC", "EE", "XX", "FF", "GG"], 'C3': [1, 1, 11, 35, 53, 2, 76, 45, 5, 34]} df2 = pd.DataFrame(data=d) print(df2) llista=[] for i in df.index: m=df2['A2'].loc[df2['A2']==i].index if m[0]: print m[0],i llista.append(df2['B2'].iloc[m[0]]) else: llista.append([]) df['B2'] = llista
Вывод:
A B B2 A 1 0 AA B 1 0 BB C 0 0 CC D 1 0 [] E 0 0 EE F 1 1 FF G 0 1 GG
Как видите, отличается от принятого поста. Это потому, что в df2 нет индекса 'D' ['A2']
необходимо ли смочь получить доступ к нему как к http://yoursite.com/crossdomain.xml поэтому, куда Вы выразились бы, чтобы сделать это?
Как показывает опыт, я поместил его рядом со своим index.html для сайта.