Попытка пересечь два фрейма данных, один со значениями, другой с bools - PullRequest
1 голос
/ 30 октября 2019

Я пытаюсь получить новый фрейм данных из двух исходных фреймов данных. Первый будет содержать данные, а второй будет содержать только True или False. Оба имеют одинаковые имена столбцов, одинаковое количество столбцов и одинаковое количество строк.


import pandas as pd
data1 = [['Alex',10],['Bob',12],['Clarke',13]]
df1 = pd.DataFrame(data1,columns=['Name','Age'])

data2 = [[True,False],[False,True],[False,False]]
df2 = pd.DataFrame(data2,columns=['Name','Age'])

df3 = df1 X df2

df3 = [['Alex', ''], ['', 12], ['',' ']]

Я хотел бы получить фрейм данных, где поля пусты, потому что в df2 они имеют значение False и со значением df1, когда в df2 это значение равно True

1 Ответ

0 голосов
/ 30 октября 2019

Попробуйте:

df3 = df1[df2].fillna('')

Пример вывода:

enter image description here


Объяснение :

Поскольку df1 и df2 имеют одинаковые индексы;df1[df2] фильтрует и показывает значения, которые являются истинными, и добавляет NaN для ложных.

fillna('') заменяет все значения NaN пустыми строками.

...