i具有 Dataframe df1,其中i具有零值...df1另一个 Dataframe df1,其在时间基础df2 groupby上由df1分组。当我试图用来自df1的值填充df1的零值时,它给出我的NaN...final dataframe。
我正在使用附加代码...
for x in df2['time']:
df1.loc[(df1['i1'] == 0) & (df1['time']== x),'i1'] = df2[df2['time']==x]['i1']
i具有 Dataframe df1,其中i具有零值...df1另一个 Dataframe df1,其在时间基础df2 groupby上由df1分组。当我试图用来自df1的值填充df1的零值时,它给出我的NaN...final dataframe。
我正在使用附加代码...
for x in df2['time']:
df1.loc[(df1['i1'] == 0) & (df1['time']== x),'i1'] = df2[df2['time']==x]['i1']
1条答案
按热度按时间nqwrtyyt1#
这个
返回NaNs,因为df 2和df 1之间的索引不对齐。
建议询问技术问题-不要提供屏幕截图,而是提供构建df 1和df 2的代码。对于试图帮助您重现问题的人来说,这要容易得多
我在这里所说的是我最大的努力来回答你
上面的代码所做的就是把源数据和你想要估算的数据合并,然后用布尔掩码进行修正,这样就可以给予正确的答案,而且比运行for循环要快得多。
请注意,这可以通过依赖groupby.transform来进一步简化,以避免创建两个 Dataframe 并合并...