Python3中将多Series合并为DataFrame并填充Features列的问题
问题原因
你代码运行后,e1、e2、ec1、ec2这些特征名存放在DataFrame的索引中,并没有写入Features列,所以该列全为NaN。
解决方案
方案1:直接修改现有代码
在你原有代码基础上新增一行将索引赋值给Features列即可,修改后完整代码如下:
import pandas as pd if __name__ == '__main__': # 此处df为你的原始数据源 Mean = df.mean().round(3) SD = df.std().round(3) Max = df.max() df2 = pd.DataFrame(columns=['Features', 'Mean', 'Standard Deviation', 'Max']) df2['Mean'] = Mean df2['Standard Deviation'] = SD df2['Max'] = Max # 新增如下代码,把索引值填充到Features列 df2['Features'] = df2.index # 如果不需要保留原索引,可额外添加下行重置索引 # df2 = df2.reset_index(drop=True) print(df2)
方案2:更简洁的实现
使用pd.concat一次性合并三个Series,直接生成目标结构:
import pandas as pd if __name__ == '__main__': Mean = df.mean().round(3) SD = df.std().round(3) Max = df.max() # 合并三个Series并指定列名 df2 = pd.concat([Mean, SD, Max], axis=1, keys=['Mean', 'Standard Deviation', 'Max']) # 直接将索引转为Features列,同时重置索引 df2 = df2.reset_index(names='Features') print(df2)
内容的提问来源于stack exchange,提问作者Buster3650
相关产品推荐
相关产品推荐

