如何访问pandas value_counts()返回Series的标签与频率列?
解决方法
你用value_counts()得到的是pandas Series,这个Series的索引就是你要的标签列,Series的值就是对应的频率,直接就能访问:
- 取标签:用
df.index,要转成列表就加.tolist() - 取频率:用
df.values或者直接用df,转列表同样加.tolist()
要是想转成标准的DataFrame(两列都是普通列),之前to_frame()没解决是因为默认转完后标签还是索引,不是普通列,加一步reset_index()就行:
# 转成DataFrame,给频率列命名 df_df = df.to_frame(name='频率') # 将索引转为普通列,命名为'标签' df_df = df_df.reset_index(names='标签') # 现在直接按列名访问 标签列 = df_df['标签'] 频率列 = df_df['频率']
后续做饼图时,直接用labels=标签列, values=频率列就能传参了。
内容的提问来源于stack exchange,提问作者ghxk
相关产品推荐
相关产品推荐

