我使用Pandas创建了一个数据透视表,该数据透视表有一个名为“names”的索引,其中包含国家名称,列仅为年份(1995-2008),包含每个国家的结核病病例总数。我试图获得美国、中国和印度的最高病例数年份以及相关病例数。
这是我的代码,但我得到了一个
ValueError: operands could not be broadcast together with shapes (201,) (14,)
是否存在错误,我还想弄清楚如何将两个结果同时显示为 Dataframe 。
countries = ['United States of America', 'China', 'India']
highest_cases_year = total_cases_pivot.loc[countries].idxmax()
print(highest_cases_year)
mask = (total_cases_pivot.index.isin(countries)) & (total_cases_pivot.columns == highest_cases_year)
highest_cases = total_cases_pivot.loc[mask, 'year']
print(highest_cases)
1条答案
按热度按时间voj3qocg1#
你可以试试这个(选择v2的值等于'A')
pd.透视表(df,索引=[“v1”],列=[“v2”==“A”],值=[“v3”],聚集函数=“计数”)