我试图使用np.where使用2个数据帧,但是我得到一个错误,说这个列有问题
我的代码如下:
sum_d = source.groupby('Country')['Deaths'].sum()
sum_c = source.groupby('Country')['Confirmed'].sum()
Deaths = pd.DataFrame(sum_d)
Confirmed = pd.DataFrame(sum_c)
frames = [Deaths, Confirmed]
Grouped = pd.concat(frames, axis=1)
Grouped.loc[:,'Mortality Rate Country'] = Grouped['Deaths']/Grouped['Confirmed']
直到这里它正常工作,我得到这个结果:
Grouped.head()
Deaths Confirmed Mortality Rate Country
Country
Afghanistan 1 40 0.025000
Albania 2 89 0.022472
Algeria 17 201 0.084577
Andorra 1 113 0.008850
Angola 0 2 0.000000
source.head()
Country Last Update Confirmed Deaths Recovered
Province/State
Hubei China 2020-03-22 09:43:06 67800 3144 59433
NaN Italy 2020-03-22 18:13:20 59138 5476 7024
NaN Spain 2020-03-22 23:13:18 28768 1772 2575
NaN Germany 2020-03-22 23:43:02 24873 94 266
NaN Iran 2020-03-22 14:13:06 21638 1685 7931
然后我尝试分配一些值,比较我得到的值错误:
source['Mortality Rate Country'] = np.where(source['Country'] == Grouped['Country'],
Grouped['Mortality Rate Country'],
source['Mortality Rate'])
错误显示:
关键错误:“国家”
在处理上述异常期间,发生了另一个异常:
任何提示或想法都将不胜感激
提前谢谢
如果有独特的国家:
如果存在重复的国家/地区:
对于原始数据中由聚合值填充的新列,您的代码应简化为^{} :
相关问题 更多 >
编程相关推荐