Python中Gender列重复问题的排查与解决求助
解决Gender列重复显示的问题
问题原因
你代码里的rename_axis('Gender', axis='columns')这一步是给**列轴(表头顶部的标签)**命名为Gender,而你之前已经把DataFrame的索引重命名为Male/Female,且原value_counts()返回的Series索引默认带有原列名Gender,最终导致表格里出现两处“Gender”,看起来像是列重复了。另外你还重复创建了两次dist_qualitative_frequency,属于冗余代码。
修复方案
修改后的完整代码
df['Gender'].value_counts() df['Gender'].value_counts(normalize=True) * 100 frequency = df['Gender'].value_counts() percentage = df['Gender'].value_counts(normalize=True) * 100 # 仅创建一次DataFrame,删除重复的创建语句 dist_qualitative_frequency = pd.DataFrame({'Frequency': frequency, 'Percentage (%)': percentage}) dist_qualitative_frequency.rename(index={0: 'Male', 1: 'Female'}, inplace=True) # 将索引的名字设为Gender,替代列轴命名操作 dist_qualitative_frequency.index.name = 'Gender' dist_qualitative_frequency
关键调整点
- 删除重复的
dist_qualitative_frequency = pd.DataFrame(...)语句 - 移除
dist_qualitative_frequency.rename_axis('Gender', axis='columns', inplace=True)这一行,改用index.name = 'Gender'将索引的名字设置为Gender,这样表格只会在索引位置显示一次Gender,不会出现重复。
内容的提问来源于stack exchange,提问作者Bruno Miranda
相关产品推荐
相关产品推荐

