我正在尝试使用iloc通过Pandas数据框中的索引号访问列:
new = df_new.iloc[:,0]
抛出错误:
IndexingError:索引器太多
iloc上的其他帖子显示它们工作正常。不明白为什么这发生在我身上。请帮忙!!
数据框为:
Games 3862 Entertainment 535 Education 453 Photo & Video 349 Utilities 248 Health & Fitness 180 Productivity 178 Social Networking 167 Lifestyle 144 Music 138 Shopping 122 Sports 114 Book 112 Finance 104 Travel 81 News 75 Weather 72 Reference 64 Food & Drink 63 Business 57 Navigation 46 Medical 23 Catalogs 10
,由代码创建:
df_new=obj_df["prime_genre"].value_counts()
通过计数另一个数据帧的类别数量
答案 0 :(得分:3)
obj_df["prime_genre"].value_counts()
返回一个pd.Series
(reference),它只有一个维度。语法[:, 0]
表示选择所有行和索引为0的列。但是由于这是一个系列,因此使用行/列
使用
.iloc[0]
如果只需要第一个元素。
如果您想继续使用df,请将此pd.Series
分配给一列
obj_df['counts'] = obj_df["prime_genre"].value_counts()
然后您可以使用obj_df[:, 0]
]
如果需要索引,只需使用
obj_df["prime_genre"].value_counts().index
或者,如果您想使用iloc
表示法
obj_df["prime_genre"].value_counts().reset_index().iloc[:,0]