如何为pd.cut创建的DataFrame添加右侧列而非底部行?
解决pd.cut对象添加列显示在底部的问题
问题原因
pd.cut() 默认返回的是Categorical类型的Series,而非标准DataFrame。直接给这个Series赋值新列时,会生成非标准的二维结构,导致新列显示在底部而非右侧。
解决方案
先将pd.cut的结果转换为标准DataFrame,再添加新列即可:
import pandas as pd import numpy as np s = pd.Series(np.arange(10)) # 把cut结果转为DataFrame,指定列名 df = pd.DataFrame({'Bin': pd.cut(s, [-5, 0, 5, 10])}) # 添加Frequency列到右侧 df['Frequency'] = np.arange(10) # 也可以用assign方法实现 # df = df.assign(Frequency=np.arange(10)) print(df)
效果说明
转换为DataFrame后,新增的Frequency列会自动显示在现有列的右侧,符合常规DataFrame的列排列逻辑。
内容的提问来源于stack exchange,提问作者Jimmy3421
相关产品推荐
相关产品推荐

