我正在尝试从两个源数据帧中获取新的数据帧。第一个包含数据,第二个仅包含 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('')
示例输出:
<小时/>说明:
由于 df1 和 df2 具有相同的索引;执行 df1[df2]
过滤并显示 true 值,并为 false 添加 NaN
。
fillna('')
将所有 NaN
值替换为空字符串。
关于python - 尝试交叉两个数据帧,一个带有值,另一个带有 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58630346/