[英]How to fill in a table using 2 data frames
I have one data frame that looks like a table like follows: 我有一个看起来像表的数据框,如下所示:
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
I have another data frame that looks like the table that follows: 我还有另一个数据框,如下表所示:
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
I want to fill the first table with the matching dates and items with YES like follows: 我想用YES匹配日期和项目来填充第一个表,如下所示:
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
How do I go about doing this, I have tried a lot of things but I was unlucky. 我该怎么做,我尝试了很多事情,但我很不幸。 Thank you in advance!
先感谢您!
You can use the below get_dummies
with assigning to df1
: 您可以将以下
get_dummies
分配给df1
:
df1[df2['items'].str.get_dummies().columns]=df2['items'].str.get_dummies().replace(1,'YES').replace(0,pd.np.nan)
And now: 现在:
print(df1)
Is: 方法是:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.