尝试按熊猫df中的索引号访问列。数据框由value.counts()函数创建。这是行不通的

时间:2018-07-11 15:32:07

标签: python pandas dataframe

我正在尝试使用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()

通过计数另一个数据帧的类别数量

1 个答案:

答案 0 :(得分:3)

obj_df["prime_genre"].value_counts()

返回一个pd.Seriesreference),它只有一个维度。语法[:, 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]