python - 尝试交叉两个数据帧,一个带有值,另一个带有 boolean 值

标签 python dataframe boolean concatenation

我正在尝试从两个源数据帧中获取新的数据帧。第一个包含数据,第二个仅包含 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 = [['亚历克斯', ''],['',12],['','']]

我想获得一个数据帧,其中字段为空,因为在 df2 中它们为 False,而 df1 的值在 df2 中为 True

最佳答案

试试这个:

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

示例输出:

enter image description here

<小时/>

说明:

由于 df1 和 df2 具有相同的索引;执行 df1[df2] 过滤并显示 true 值,并为 false 添加 NaN

fillna('') 将所有 NaN 值替换为空字符串。

关于python - 尝试交叉两个数据帧,一个带有值,另一个带有 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58630346/

相关文章:

python - 在 Python 中为 AWS Lambda 从字符串内容创建一个动态 zip 文件

Pig 中的 Python UDF

python - 在两列上使用 loc 来执行替换另一列的值的计算

Python:如果任意元素在任意列表中,则返回 boolean 值

sql - boolean 列上的索引有助于页面缓存

python - 指向 403 Forbidden 的 Django Ajax 表单提交

python - 保留 beautifulSoup python 中的子元素?

Python - 使用 DataReader 连接数据帧列表

python - 如何在pandas中处理这个逻辑

python - 数据框中的 Pandas boolean 值比较