试图跨越两个数据帧,一个带有值,另一个带有布尔值

2024-04-26 21:20:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从两个源数据帧中获取新的数据帧。第一个包含数据,第二个只包含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中,它们是假的,而在df2中,它们的值是真的


Tags: columns数据namefalsetruedataframeagepd
1条回答
网友
1楼 · 发布于 2024-04-26 21:20:08

试试这个:

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

输出示例:

enter image description here


解释:

因为df1和df2有相同的索引;执行df1[df2]筛选并显示为真的值,并为假添加NaN

fillna('')用空字符串替换所有NaN

相关问题 更多 >