我有一个数据帧df,我希望在其中显示百分比和类型。代码运行良好,除了当我键入df.columns时,两列(type和Percent(都没有列出。
数据
Type
Hello-HEL-HE-A6123-123A-12T_TYPE-v.A
Hello-HEL-HE-A6123-123A-12T_TYPE-v.B
Hello-HEL-HE-A6123-123A-12T_TYPE-v.E
Hello-HEL-HE-A6123-123A-50T_TYPE-v.C
Hello-HEL-HE-A6123-123A-50T_TYPE-v.A
Happy-HAP-HA-R650-570A-90T_version-v.A
所需
Type Percent
Hello-HEL-HE-12T 50%
Hello-HEL-HE-50T 33%
Happy-HAP-HA-90T 16.6%
执行
df.columns = ['Type']
df['computer.u_sku'] = df['computer.u_sku'].apply(lambda x: extract_value(x))
df1 = (df['Type'].value_counts(normalize=True)*100).to_frame('Percent')
print(df1.rename_axis(index='Type').reset_index())
结果
Type Percent
Hello-HEL-HE-12T 50%
Hello-HEL-HE-50T 33%
Happy-HAP-HA-90T 16.6%
但是,当我输入时:
df.columns,输出仅将Percent列为一列。如何让代码同时显示这两列。我认为这可能与设置索引有关。我正在研究这个。欢迎提出任何建议。
Index(['Percent'], dtype='object')
我试过这个:
df2.columns = ['Type', 'Percent'], but I get a length mismatch error
尝试pd.set_option('display.max_columns', None)