从python的多个datana帧的条件fill2

2024-09-28 21:03:57 发布

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

我有2个数据帧,我想用df2中的数据填充下面df1中的na,但是team列是否与df2中的h或v列相匹配:

换句话说,用df2中的值填充df1['temp','wspd','cond'],其中df1['team']==df2['h']或df2['v']

df1:

team        day    temp      ou      wspd     cond
CIN         SUN     nan     42.0     nan      nan
 KC         MN      nan     43.5     nan      nan
IND         SUN     nan     42.0     nan      nan
CIN         SUN     nan     42.0     nan      nan
SEA         SUN     nan     45.5     nan      nan
PIT         SN      nan     45.0     nan      nan
MIA         THU     nan     37.5     nan      nan
DEN         MN      nan     43.5     nan      nan
NYJ         SUN     nan     46.5     nan      nan
CAR         SUN     nan     44.5     nan      nan
LAC         SUN     nan     48.0     nan      nan
MIN         SUN     nan     45.0     nan      nan
NO          SUN     nan     48.5     nan      nan
NYJ         SUN     nan     46.5     nan      nan
CLE         SUN     nan     37.5     nan      nan
OAK         SUN     nan     45.5     nan      nan
CAR         SUN     nan     44.5     nan      nan
OAK         SUN     nan     45.5     nan      nan
...         ...     ...      ...    ...       ...

df2:

^{pr2}$

Tags: 数据nancartempteamsundf1df2
1条回答
网友
1楼 · 发布于 2024-09-28 21:03:57

我将首先重塑df2使列v和{}位于一列中,然后将该列设置为索引:

df2 = df2.melt(value_vars=['v','h'], \
  id_vars=['temp','humd','wspd','cond'], value_name='team').set_index('team')
#       temp  humd  wspd           cond variable
# team                                          
# MIA   60.0  41.0  12.0   Mostly Sunny        v
# MIN   47.0  58.0  14.0         Cloudy        v
# CHI   70.0   0.0   0.0           Dome        v
# ATL   66.0  83.0  17.0           Rain        v
# IND   44.0  58.0  12.0         Cloudy        v

从这里,您可以将team设置为df中的索引,并使用df.update

^{pr2}$

相关问题 更多 >