如何使用2个数据框填写表格

2024-09-28 22:23:59 发布

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

我有一个数据框,看起来像一个表,如下所示:

1. DueDate    |    item1    |     item2    |    item3    |    item4

2. 1/1/2018   |     nan     |      nan     |     nan     |     nan
3. 1/2/2018   |     nan     |      nan     |     nan     |     nan
4. 1/3/2018   |     nan     |      nan     |     nan     |     nan
5. 1/4/2018   |     nan     |      nan     |     nan     |     nan
6. 1/5/2018   |     nan     |      nan     |     nan     |     nan

我还有一个数据框,看起来像下面的表格:

1. DueDate    |    items 

2. 1/1/2018   |     item1
3. 1/2/2018   |     item3
4. 1/2/2018   |     item4    
5. 1/4/2018   |     item4   
6. 1/5/2018   |     item1
7. 1/5/2018   |     item3

我想在第一个表中填入匹配的日期和“是”项,如下所示:

1. DueDate    |    item1    |     item2    |    item3    |    item4

2. 1/1/2018   |     YES     |      nan     |     nan     |     nan
3. 1/2/2018   |     nan     |      nan     |     YES     |     YES
4. 1/3/2018   |     nan     |      nan     |     nan     |     nan
5. 1/4/2018   |     nan     |      nan     |     nan     |     YES
6. 1/5/2018   |     YES     |      nan     |     YES     |     nan

我该怎么做呢?我试过很多东西,但我运气不好。 提前谢谢


Tags: 数据itemsnan表格yesitem1运气item2
1条回答
网友
1楼 · 发布于 2024-09-28 22:23:59

您可以使用下面的get_dummies来指定给df1

df1[df2['items'].str.get_dummies().columns]=df2['items'].str.get_dummies().replace(1,'YES').replace(0,pd.np.nan)

现在:

print(df1)

是:

    DueDate item1  item2 item3 item4
0  1/1/2018   YES    NaN   NaN   NaN
1  1/2/2018   NaN    NaN   YES   NaN
2  1/3/2018   NaN    NaN   NaN   YES
3  1/4/2018   NaN    NaN   NaN   YES
4  1/5/2018   YES    NaN   NaN   NaN

相关问题 更多 >